• ベストアンサー

cronでphpを実行できない

cronでphpを一部実行できない状態です 試しにメール送信処理のphpを作りcronで実行しまして送信できました しかし、mysqlで情報を取得しそれをメール送信するphpをcronするとNGです。 上記phpはブラウザからは問題なく処理できます 実行権限などでしょうか? 詳細な解決策を知っている人は教えていただきたいです

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

ああ、ごめんなさい、PHPはCLIで処理しているのですね 実行ユーザーのパーミッションの問題ならsudoで解決してみてください また実行するファイルはすべてフルパスで記載してください

tamurad007
質問者

お礼

ありがとうございました! DBを接続を別階層ファイルでrequireしていたのでそこを直して解決しました。

その他の回答 (2)

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

>実行権限などでしょうか? cronで動かないのは、ほとんどが、権限の問題か、環境変数の問題のどちらかです。 >詳細な解決策を知っている人は教えていただきたいです 詳細な状況が示されれば、詳細な解決策の提示も可能です。

tamurad007
質問者

補足

ありがとうございます 現在、 /etc にcromailディレクトリをつくりその中に vi test で 以下を記載しています #!/bin/sh #PHP /usr/bin/php /var/www/html/vhosts/example.net/public/cron/birthcron.php /usr/bin/php /var/www/html/vhosts/example.net/public/cron/mailtest.php そして これをcrontab -e で呼び出しているのですが、 下のほうのphp は処理できるのですが上のphpは処理ができません ブラウザ経由ではどちらもできます 上と下の違いは上はmysqlからデータを持ってきてその内容をメールしており 下は固定値をメールしています。 おそらくmysql実行権限をcronにつければとは思うのですが どうしてよいかわかりません。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

web経由でできるならcronでwgetをつかって呼び出せばよいでしょう

tamurad007
質問者

補足

ありがとうございます wgetだとどちらも実行できません