PHPマニュアルにあるように この関数はロケール設定を考慮します。もし LANG が例えば en_US.UTF-8 の場合、 ファイル中の 1 バイトエンコーディングは間違って読み込まれます。 コマンドラインで直接叩くとちゃんと動いているのに、crontabで動くとちゃんと取り込めないという現象に遭遇しました。 0 0 * * * /usr/local/bin/php /home/user/update.php などと、例えばしていた場合は $ vi /home/user/update.sh export LANG="ja_JP.eucJP" /usr/local/bin/php /home/user/update.php $ chmod 700 /home/user/update.sh として、crontabは 0 0 * * * /home/user/update.sh とすると多分うまくいきます。 |