WordPress の状態遷移等を出力してデバッグする場合、最終的に画面が表示される場合は echo や var_dump を用いて画面に表示して確認する。しかし、 WordPress 起動の流れをデバッグするには画面に出力するのは難しそうだ。そこで、デバッグをファイルに出力する方法でおこなってみた。
実際に wp-config.php で WP_POST_REVISIONS を定義して、その結果をファイルに出力してみた。使用したのは fopen → fwrite → fclose の3つの関数。また、fopen は追記モード「a」でおこなった。また、改行はダブルクォーテーションにする必要があるようだ。(シングルクォーテーションではそのまま \r\n と表示されてしまった)
/** リビジョン設定 */
define('WP_POST_REVISIONS', 0);
$file = fopen('log.txt', 'a');
fwrite($file, 'wp-config.php:WP_POST_REVISIONS='. WP_POST_REVISIONS ."\r\n");
fclose($file);
実際にサイトにアクセスすると、wp-config.php と同じ階層に log.txt が作成され、開くと 「wp-config.php:WP_POST_REVISIONS=0」 と書き込みされている。
- mode説明
- r読み込みのみでオープンします。ファイルポインタをファイルの先頭に置きます。
- r+読み込み/書き出し用にオープンします。 ファイルポインタをファイルの先頭に置きます。
- w書き出しのみでオープンします。ファイルポインタをファイルの先頭に置き、 ファイルサイズをゼロにします。ファイルが存在しない場合には、 作成を試みます。
- w+読み込み/書き出し用でオープンします。 ファイルポインタをファイルの先頭に置き、 ファイルサイズをゼロにします。 ファイルが存在しない場合には、作成を試みます。
- a書き出し用のみでオープンします。ファイルポインタをファイルの終端に置きます。 ファイルが存在しない場合には、作成を試みます。
- a+読み込み/書き出し用でオープンします。 ファイルポインタをファイルの終端に置きます。 ファイルが存在しない場合には、作成を試みます。
- x書き込みのみでオープンします。ファイルポインタをファイルの先頭に置きます。 ファイルが既に存在する場合には fopen() は失敗し、 E_WARNING レベルのエラーを発行します。 ファイルが存在しない場合には新規作成を試みます。 これは open(2) システムコールにおける O_EXCL|O_CREAT フラグの指定と等価です。 このオプションはPHP4.3.2以降でサポートされ、また、 ローカルファイルに対してのみ有効です。
- x+読み込み/書き出し用でオープンします。 それ以外のふるまいは ‘x’ と同じです。
- c書き込みのみでオープンします。ファイルが存在しない場合には新規作成を試みます。 ファイルが既に存在する場合でもそれを (‘w’ のように) 切り詰めたりせず、 また (‘x’ のように) 関数のコールが失敗することもありません。 ファイルポインタをファイルの先頭に置きます。これは、アドバイザリ・ロック (flock() を参照ください) を確保してからファイルを変更したい場合に便利です。 ‘w’ を使うと、ロックを取得する前にファイルを切り詰めてしまいます (もしファイルを切り詰めたいのなら、ロックを要求した後で ftruncate() を使うこともできます)。
- c+読み込み/書き出し用でオープンします。 それ以外のふるまいは ‘c’ と同じです。
