通知
すべてクリア

Cron設定追加のコマンドについて

投稿: 3
コミュニティ参加日: 2日前

Cron設定マニュアルのコマンド記述例「/usr/bin/php7.4/home/サーバーID/独自ドメイン名/public_html/abc.php」に従い、当方現在のphpバージョン7.1.33につき、「public_html」配下の「abc.php」を起動させるコマンド「/usr/bin/php7.1/home/サーバーID/独自ドメイン/public_html/abc.php」を設定しました。サーバーID/独自ドメインは実際の情報を記述しています。

指定時刻にCron結果の通知アドレス宛に下記メールを本文に受信しました。

/bin/sh: /usr/bin/php7.1/home/サーバーID/独自ドメイン名/public_html/abc.php: ディレクトリではありません」

「アクセス解析」のアクセスログの受信時刻帯に該当事象は無く、エラーログは0byteで何も記録されてはいませんでした。

「ディレクトリではありません」のメッセージは「abc.php」内を指しているのでしょうか。

コマンド記述事例に基づいたコマンド設定の何処に原因が有るのか不明です。

対応方が有れば宜しくお願いします。

対象サービス
5件の返信
還じい
投稿: 268
コミュニティ参加日: 1年前

投稿者:: Cron設定追加のコマンドについて

/usr/bin/php7.1/home/サーバーID/独自ドメイン/public_html/abc.php」を設定しました。サーバーID/独自ドメインは実際の情報を記述しています。

正解は以下です。

/usr/bin/php7.1 /home/サーバーID/独自ドメイン/public_html/abc.php

 

マニュアル見てもわかりにくいんですが、php7.1と/homeの間にはスペースが必要です。

 

返信
4件の返信
コミュニティ参加日: 2日前

投稿: 3

還じい 様。

空白1個の挿入によりCron結果の通知アドレス宛には何のメッセージも返されていませんでした。ありがとうございました。

但し、当方のphpプログラムは期待通りに処理された様子も無く、異常終了とかどうかも分らずじまいでした。

プログラムは「当方作成したサイトへの訪問後、作成した一時作業ディレクトリおよびファイルが正常削除されずに残った場合への対応」とし、サイトからのログオフ時にセッション単位の削除処理のみを再編集したものでした。

再度プログラムの見直しを含めてチャレンジしますが、どこかに何らかの証跡を残す方法が有ればご教授頂きたく、宜しくお願いします。

返信
還じい
コミュニティ参加日: 1年前

投稿: 268

投稿者:: Cron設定追加のコマンドについて

再度プログラムの見直しを含めてチャレンジしますが、どこかに何らかの証跡を残す方法が有ればご教授頂きたく、宜しくお願いします。

デバッグとしては、ログを残すのが一番いいんじゃないでしょうか。

 

試しに、以下のコマンドをcronに追加したらログを残せましたよ。(PHPは8.2)

/usr/bin/php8.2 /home/サーバID/独自ドメイン/public_html/sample.php >> /home/サーバID/独自ドメイン/public_html/logfile.log 2>&1

 

sample.phpに、echo、var_dump、print_r関数を書いて、ログファイルに出力されるのを確認しています。

処理のポイントポイントで、どこまで通ったか、変数の内容(?)などを出力して、デバッグするしかないと思いますね。

 

ちなみに、僕はPHPはよくわかりませんが、AI(Copilot)に聞いた答えを参考にして回答しています。

こういう時こそ、AIは役に立つと思いますよ。

 

返信
還じい
コミュニティ参加日: 1年前

投稿: 268

ちょっと書き忘れましたが、

問題のスクリプトを実行した時にエラーが発生しているのであれば、ログファイルにエラーメッセージが出力されると思います。

返信
コミュニティ参加日: 2日前

投稿: 3

還じい 様。

ありがとうございました。

>>」についてはWindows上でバッチコマンド実行時のログ出力で多用していたことに「ハッと」しました。

Linuxでの利用も可能なのですね。

echoprint_r関数については利用したことが有りますが、var_dumpは全くの未知の関数でした。

phpでのバッチプログラム作成は殆ど初心者なので、「phpバッチプログラム作成」の検索語でそれなりに習得後のチャレンジです。

取り敢えず、当初の質問は解決されたとの認識に立ち「解決済」とし、以降も宜しくお願いします。

返信