PHPのパスコードはcronで同じように動作しますか?

PHPのパスコードはcronで同じように動作しますか?

crontabでPHPスクリプトを実行すると、ファイルパス(phpスクリプトと同じ場所のサブフォルダにあります)を含むPHPコードは引き続き機能しますか?

私のPHPコードは "ref_files"サブフォルダからテキストファイルを読み込みます。私のPCブラウザでPHPを実行すると、100%有効です:

$SettingsFile = "./ref_files/push1.txt";
$extData = fopen($SettingsFile, "r");
    while ($line = fgets($extData, 2048)){ //reads the file line by line
        echo $line . "<br>";
    }
fclose($extData);

スクリプトがcrontab(別の場所で実行されていると思われる)で実行されると、これは中断されますか?

Raspberry Pi 3モデルB Plus Rev 1.3 Arm v7 OMV 4.1.35.1 Debian 9 Stretch PHP 7.0.33 Nginx 1.10.3

編集:次は解決策のようです。

$CodeRoot = dirname(__FILE__);

$SettingsFile = "$CodeRoot/ref_files/push1.txt";
$extData = fopen($SettingsFile, "r");
    while ($line = fgets($extData, 2048)){ //reads the file line by line
        echo $line . "<br>";
    }
fclose($extData);

ベストアンサー1

クローン操作はcd最初に正しいディレクトリに到達する必要があります。

たとえば、項目の「コマンド」部分に次の内容を入力しますcrontab

( cd /path/to/php/script/directory ; php myscript.php )

おすすめ記事