Cronでのカレントディレクトリについて
3日前からVine Linuxを初めてインストールしまして、
自宅サーバをやろうとしている、初心者です。
これまではxrea.comのレンタルスペースを借りてphpでコンテンツを作っていました。
phpをCronを使って、定期的実行する際に
[シェルファイル]
#!/bin/sh
#PHP
/usr/bin/php /var/www/html/filename.php
exit
のようにしてファイル操作をするphpを実行させたのですが
[filename.php]
<?php
$fp=fopen("../data/dat.txt","w");
fputs($fp,$data);
fclose($fp);
?>
で実行したところURLからは問題なく
dat.txt
の内容を編集することができるのですが
cronからだと
PHP Warning: fopen(../data/data.txt): failed to open stream: No such file or directory
となります。
そこでカレントディレクトリを調べると
/root/PHPs/
となっていたので、そのようなエラーになっていました
(1)カレントディレクトリを変更するコードを毎回phpに組み込む
(2)フルパスでファイルを指定する
ことでこのトラブルは回避されるのですが、
xrea.comでは、相対パス、カレントディレクトリを毎回指定しなくても、実行できていました。
cronでphpを実行する際に、phpが存在するディレクトリへ
自動でカレントディレクトリを移動するようにしたいです。
そのような方法があれば、教えてくください。