purazumakoiの[はてなブログ]

技術メモから最近はライフログも増えてきてます。

phpをcronでCGIとして実行する時のデバッグ

何はともあれ、コンソールで実行してみることが大切

$ /usr/home/****/html/test.cgi
とか
$ /usr/local/bin/php-cgi-4.4.1 /usr/home/****/html/test.cgi
とか

それでエラーがでる。

X-Powered-By: PHP/4.4.1
Content-type: text/html
エラー!!

content-type:text/htmlというときは、自分のソースのどっかで吐き出してるということを疑うべき!



■エラー:Premature end of script headers の対処法


こちらのサイトより


via
エラー【Premature end of script headers】 の対処法|Perlプログラムメモ|プログラムメモ


僕の場合は

1. cgiスクリプトをバイナリモードでアップロードする。
2. 改行コードを「LF」(unix) にする
3. スクリプトの最後に「1; (改行)(改行)」を付け足す

2.の改行コードをLFにする、これで解決できました。