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

とすると多分うまくいきます。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-09-19 (日) 19:09:32