
こんにちは。
CentOSでcronの設定をしました。
*/2 * * * * /usr/local/bin/php -f /usr/mail.php 1> /usr/log.txt
上記でmail.phpは2分置きに実行されていますが、
mail.php内のmb_send_mail関数がどうしても実行されません。
(ログよりmail.phpは実行されています。
print出力により確認)
コマンドから直接
php /usr/mail.phpで実行するとメールは送信されます。
Centos 6.3
php 5.3.3
Cronでphpのmb_send_mailを実行する際には何か設定がいるのでしょうか。
アドバイス等ありましたら、よろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
crontabの中で実行した場合と動作がことなったり、動かなかったりする場合は、環境変数の違いが原因のことが多いです。
rootで実行してるのでしたら(/usrの直下にファイルが書けてるのでたぶんそうですね?)
cron内で
* * * * * env > /root/env.txt
とでもしてみて環境変数を確認してみてください。
環境変数はcrontabの中でも設定できますので、crontabの中でたとえばLANGを設定するのでしたら、
LANG=ja_JP.UTF-8
と直に書けば設定されます。
No.1
- 回答日時:
/usr/local/binに配置したphpコマンドはどうインストールしたのだろうか。
たぶんコマンドから直接
php /usr/mail.php
した時はCentOS6のmainパッケージの/usr/bin/phpが動いているんじゃないかと思う。
cronの設定と同じようにコマンドから直接
/usr/local/bin/php /usr/mail.php
してみるとどうなるだろうか。
落ち着いて問題の切り分けを行おう。
mb_send_mail関数が失敗しているのか、mb_send_mailは成功しているがメール送信に失敗しているのか。
まずはmb_send_mail関数の返り値(bool)を確認。これがfalseならそこで失敗している。
Fatal error: Call to undefined function mb_send_mailなどと表示されたら/usr/local/bin/phpからmb_string拡張が参照できない状態になっている。
それとメールスプールに失敗メールが溜まっていないか確認すると良い。
CentOS6標準のPostfixを使っているのであれば
postqueue -p
で確認できる。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP phpのメールフォームの完了画面でメール受信のコードを書いています。 1 2023/05/31 11:39
- PHP php 完了画面の送信メールのコードを書いているのですが・・・ 2 2023/06/02 12:01
- UNIX・Linux cronでシェルスクリプト実行時のkubactlコマンドが機能しない対処法。 2 2022/08/03 18:58
- UNIX・Linux cronの@rebootでのdateコマンドの実行につきまして 2 2023/06/11 16:23
- Gmail 【お助け!】サーバーからのメール送信でGmailに送信されない問題について 1 2023/06/20 22:03
- Gmail 家から自分のg-mailで添付ファイル付きのメールを4通、職場の自分宛てに送りました。次の日に見ると 3 2022/09/08 12:35
- 英語 この"e-mail"が複数形でもなく、無冠詞なのはなぜですか? 「表現のための実践ロイヤル英文法」に 1 2022/07/10 16:12
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
- その他(プログラミング・Web制作) laravel 本番環境でメールが送れません。 1 2023/02/17 17:57
- Excel(エクセル) Excelの数式の質問です。 A列に「redhat 8.0, centOS 7.9, python 4 2023/05/12 19:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
bashでシングルクォート内の変...
-
スクリプトのエラー「unexpecte...
-
Linuxでシェルスクリプトがフル...
-
さくらVPS cronでphp
-
Bシェルで文字列が日付として正...
-
Linux 月を英語表示したい
-
/usr/local/bin/rubyを実行する...
-
crontabでsql/plusの起動
-
UNIXのPATH設定
-
cronが動かない
-
VNC (REDHAT LINUX 8.0 and W2K)
-
シェルスクリプト実行で”そのよ...
-
Python codeのcron実行
-
PHPファイルをcronで定期的に実...
-
cronでシェルスクリプト実行時...
-
Cシェルのかっこいいプロンプト...
-
hp-uxで時間(時計)を合...
-
Dirコマンドでフォルダ内ファイ...
-
TOPコマンドで表示するCPU使用...
-
エクセルの表にヘンな枠が・・・
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スクリプトのエラー「unexpecte...
-
bashでシングルクォート内の変...
-
シェルスクリプト実行で”そのよ...
-
Linux 月を英語表示したい
-
Linuxでシェルスクリプトがフル...
-
Linuxで自作バッチファイルの置...
-
crontabでjavaだけが上手く動い...
-
crontabでsql/plusの起動
-
apachectl start command not f...
-
自動パスワード入力でscpするス...
-
Bシェルで文字列が日付として正...
-
Cシェルのかっこいいプロンプト...
-
sudoでNOPASSWDとしてもパスワ...
-
cronでの処理が途中で中断終了...
-
CygwinでX Windiws Systemが起...
-
シェルスクリプトで標準エラー...
-
cron(javaプログラム)からroot...
-
CentOSでcronからphp mail送れない
-
cronでシェルスクリプト実行時...
-
cron設定で正常に動作しない
おすすめ情報