web-dev-qa-db-ja.com

CentOS 6.4のCronJobsでPHPを実行していますか?

ですから、私は今、約2〜3時間費やして調査を行ったところ、同じ回答がオンラインでいくつか見つかりましたが、どれもうまくいかないようです。

PHPスクリプトを毎分(テストとして)実行しようとしていますが、機能しません。

This is crontab in /etc/crontab 正直なところ、そのスクリプトの何が問題になっているのかわかりません。だから私はログをチェックしに行きました、そして私はこれを手に入れました。

5月1日19:59:01 namehere crond [1112]:(system)RELOAD(/ etc/crontab)5月1日19:59:01 namehere crond [1112] :( CRON)不正なユーザー名(/ etc/crontab)

私はかなり混乱しています、どんな助けでも大歓迎です!

LAMPをインストールし、それが問題になる場合はphp-cliをインストールしました。

編集:

やっと実行させました!下のポスターに感謝します!しかし、今は別の問題があり、エラーがメールで送信されます enter image description here 私のスクリプトには他のスクリプトが含まれています。cPanel(共有ホスティング)を使用していたときは完全に機能しましたが、現在は機能していません。何が問題である可能性がありますか?

2
helpMe664

コマンドの前にuser-nameパラメータを必要とするバージョンのcronがあるようです。それはヘッダーにもあり、ほんの少し隠されています

*  *  *  *  * <user-name> <command to be executed>

これを試してください(rootをphp/Apacheが実行されているユーザーに置き換えてください):

* * * * * root /usr/bin/php /var/www/html/directory/file.php

また、一部のディストリビューションでは、コマンドライン(cli)経由で使用するか、Apacheモジュールなどとして使用するかに応じて、個別のphp.ini構成があることに注意してください。したがって、さらに問題が発生した場合は、php.iniファイルが一致することを確認してください( /etc/phpを確認してください)。

更新

絶対パスを機能させるには、次のようなインクルードを用意します。

include __FILE__ . '../inc/databases.php';

現在実行中のスクリプトへの絶対パスを返す追加の__FILE__に注意してください。すべてのincluderequireを更新する必要があります。

3
phoops