cron から PHP を実行するときのパス指定方法

PHPLinux

cron で PHP ファイルを実行するとき、 PHP で file_put_contents を使ってファイルの書き込み処理を行ったが file_put_contents に指定するファイルパスを相対パスで書いたら意図しない場所にファイルが作られてしまった。

定期実行するファイルは /etc/cron.d/auto に置いてあって、 php /var/www/html/cron/hoge.php という処理が書いてある。

hoge.php には、 file_put_contents("./../result.txt", $str); と書いてある。

結果、ルートパス / に result.txt が作成された。
本当は、 /var/www/html にある result.txt に書き込ませたかった。

cron から実行させる場合は、絶対パスで書く。

file_put_contents("/var/www/html/result.txt", $str);

Posted by Agopeanuts