2011-12-19 11 views
1

wwwフォルダに置かれていないsqliteデータベースを照会する必要があるPHPアプリケーションを開発しています。私は次のコードを使用して接続しています。サーバにローカルに配置されたsqlite dbにアクセスします。

$db = sqlite_open($path, 0666, $sqliteerror); 

しかし、何らかのエラーがあります。私のアプリはhttpdocsセクションに置かれています。どうすれば私のdbへのパスを指定できますか?アポストロフィ間のパスを入れて

$path='/srv/smartfox/Server/db/myDB.sqlite'; 
+0

「何らかのエラー」を詳しく説明できますか?これらの日を読むのは難しいです:) – McKracken

+0

lolそれは "サーバーのエラー"私はファイルをアップロードするが、私はdb.thenthenすべてをスムーズに接続しようとしない場合は言う。正確なエラーが$ sqliteerrorを出力することによってわかっていますか? – samach

+0

@Salmanmahmood私は知らない...できますか? (つまり試してみましたか?) –

答えて

0

$path='/srv/smartfox/Server/db/myDB.sqlite'; 
+0

申し訳ありません私は引用符を使用しています...質問を編集しました。ありがとう – samach

1

は、次のことを確認します。

  • PHPのプロセスは、データベースファイルへの読み取りアクセス権を持っている必要があります。
  • データベースに書き込もうとしている場合、PHPプロセスはファイルに書き込みアクセス権を持っていなければなりません(書き込みしていなくてもSqliteが必要になるかもしれませんが、それ)。
  • Sqlite拡張機能が有効になっていない可能性があります。それをphpinfo()で確認してください。

これを試してみてください:

  • 何を得るのエラーを参照して、エラーログを有効にします。
  • httpdocsフォルダ内のデータベースにアクセスしてみてください。それは動作しますか?
  • PDOを使用してデータベースに接続します。
0

するだけで、あなたのスクリプトのルートディレクトリを確認してください。$ _SERVER [「DOCUMENT_ROOT」]、その後のsqliteファイルのパスを決めます。私はその道に問題があると思う。あなたのコントロールが 'www'ディレクトリにある場合:

$path = 'srv/smartfox/Server/db/myDB.sqlite'; 

うまくいくかもしれません!

関連する問題