【CGI版PHP 5.4】Premature end of script headersエラーの対応

PHP 5.4.39 をCGI版で動作させようとインストールしたのですが、アクセスしても「500 internal server error」と表示され、Apache の error_log には「Premature end of script headers」というエラーが出力される問題にぶち当たりました。

Premature end of script headers: php-5.4.39

で、原因をいろいろと1つずつ調べていったところ、なんとびっくり cgi-bin ディレクトリに貼ったシンボリックリンクの先が間違えているというのが原因でした‥。

つまり、cgi-bin ディレクトリに貼るシンボリックリンクの先は、php実行ファイルではなく、CGI版PHP(php-cgi)を指定しなければいけません。(そりゃそうだな‥)

下記は間違えたシンボリックリンクの指定先です。

$ ln -s /usr/local/lib/php-5.4.39/bin/php php-5.4.39

正しいシンボリックリンクはこちら。

$ ln -s /usr/local/lib/php-5.4.39/bin/php-cgi php-5.4.39

これで無事に解決しました。

コメントを残す

メールアドレスが公開されることはありません。