Web aym.pekori.to

sqlite_popen

(PHP 5)

sqlite_popen --  SQLiteデータベースへの持続的ハンドルをオープンする。存在しない場合 には、データベースを作成する

説明

resource sqlite_popen ( string filename [, int mode [, string &error_message]] )

この関数はsqlite_open()と同じように動作しますが、 PHPの持続的リソース機能を使用するところが異なります。 パラメータの意味に関する詳細については、マニュアルの sqlite_open() を参照してください。

sqlite_popen() は、まず、持続的ハンドルが指定し たfilenameに関してすでにオープンされているか どうかを調べます。みつかった場合には、スクリプトのそのハンドルを返 し、それ以外は、データベースのハンドルを新規にオープンします。

この手法の利点は、持続性のあるWebサーバ SAPI(通常のCGIまたはCLI以外 の全てのSAPI)により処理される各ページについてデータベースやインデッ クススキーマを再読み込みする性能上のコストを払うことがないことです。

注意: 持続的ハンドルを使用している時にデータベースが(crontab等の)バック グラウンドプロセスにより更新され、このプロセスが上書きすることによ り(消去して、再構築するか、カレントのバージョンを置換するために更 新後のバージョンを移動)データベースを再生成する場合、 古いバージョンのデータベースに関する持続的ハンドルが再利用されると いった予測できない動作を引き起こす可能性があります。

この問題を回避するために、バックグラウンドプロセスが同じデータベー スファイルをオープンするようにし、更新をトランザクションで行うよう にしてください。

パラメータ

filename

SQLite データベースのファイル名。もしこのファイルが存在しない場合、 SQLite はファイルを生成しようとします。 データを挿入したり、データベーススキーマを変更、 もしくはデータベースが存在しない場合にデータベースを生成する場合、 PHP はファイルに対する書き込み権限を持っている必要があります。

mode

ファイルのモード。読み込み専用モードでデータベースをオープンするために 使用することを目的としています。現在、このパラメータは SQLite ライブラリに無視されます。このモードのデフォルト値は、 8 進数値 0666 で、これは推奨される値です。

error_message

参照として渡され、エラーが発生した場合に データベースがオープンできなかった原因を説明する 記述的なエラーメッセージを保持するために設定されます。

返り値

成功時にリソース (データベースハンドル)、失敗時に FALSE を返します。

参考

sqlite_open()
sqlite_close()
sqlite_factory()