質問: file_put_contents($fileName, 'Called'.PHP_EOL, FILE_APPEND); header('HTTP/1.0 200 OK'); echo "ret=$ret, ir=$ir".PHP_EOL; ``` 上記のテストPGMを作成し、curlコマンドで実行した結果は「ret=7, ir=1」となりました。 しかし /tmp ディレクトリにファイルは作成されませんでした。 また、touchコマンドで、0666 の権限で test_log ファイルを作成してから実行しても駄目でした。 apacheのerror_logを見ても、特にエラーが出力されていなかったので、この他に何を調べれば良いでしょうか。 よろしくお願いします。 【環境】 Red Hat Enterprise Linux Server release 7.3 (Maipo) Apache/2.4.6 PHP 7.1.4 (cli) (built: Apr 11 2017 19:36:58) ( NTS ) 追記: seLinuxは無効にしています。 追記2: apacheの書き込み先をドキュメントルート配下に変更すると成功しました。 何故なんでしょう? ls -lコマンドの結果では権限エラーはなさそうなんですが。 -rw-rw-rw- 1 ec2-user ec2-user 0 Aug 28 19:22 test_log
回答: なんかケアレスミスしてそうですね。 > > 結果は「ret=7, ir=1」 > > > とあるので、書き込みは成功しています。 `less /tmp/test_log`として確認してみてください。 ちなみに、`ir=$ir`は`iw=$iw`の転記間違いと読みました。 そうでないと`1`にならないので。。。 **追記** 切り分け用のスクリプトです。 ``` /dev/null | grep test_log'); echo $tmp; ```