wordpress(coreserver)でScript Errorが出た時の対処方法

記事公開日:
最終更新日:

Sponsored Links

追記:下記の内容は古い内容となってます。
2015年現在、coreserverはFastCGI版に移行し、セーフモード対策(htaccess に書く AddHandler application/x-httpd-phpcgi…とか)が必要なくなりました。
詳しくはcoreserverのサイトを参考にしてください。

もし、wordpressを使っていてPHPのScript Errorが出た場合には、coreserverのCGIを邪魔するような設定をしたか、新たに導入したプラグイン、もしくはwordpressのテーマファイルなどに書き込んだPHPコードを疑ってみてください。


wordpress3.8(coreserver)に更新したらScript Errorが出ました

環境:
coreserver(PHP ver5.5.3/5.3.8)
wordpress3.8

wordpress3.8に更新したら、以下のようなエラーを出して、サイト自体が止まってしまいました。

Script Error

The script did not produce proper HTTP headers. Please see the error log to see the detail of the errors. Depending on the server configuration, you can also run thisscript under CGIWrap debugging. Usually, either rename or linkthe script temporarily to a file which ends with .phpdextension, or add a AddType application/x-httpd-phpcgi-debug .phpline to your .htaccess file.

上記のエラー文に従って、wordpressインストールディレクトリの.htaccessに以下の内容を書き込んでデバッグしてみました

AddHandler application/x-httpd-phpcgi-debug .php

この方法で確かにエラー内容は分かったのですが、本サイトの場合、直接の原因ではなくエラー内容を解決してもScript Errorを出し続けました。

coreserverとセーフモード

毎度の事ながら、wordpressを更新するとPHPのセーフモードがらみのトラブルが起こるので、調べてみると、以下のような内容をみつけました。

参考にしたページ:http://php.net/manual/ja/features.safe-mode.php

web_php_safemode

web_php_safemode

なので、wordpressインストールディレクトリの.htaccessの、PHPをCGI版として動かしている以下のコードをコメントアウト(コードの最初に # を付け加える。モジュール版で動作させるということになる。)してみました

# AddHandler application/x-httpd-phpcgi .php

すると、問題なくサイトが表示されるようになりました。

しかし、管理画面での操作で

・管理画面からプラグインの設定変更・更新ができない
・ファイルアップローダーが利用できない

などの問題が生じたので、もう一度CGI版で試しに動かしてみると問題なく動作しました
(いちおう、/wp-adminフォルダに別の.htaccessを作り、部分的にCGI版で動かすのも試しましたが改善されませんでした。)

いつもどおりですが、wordpressとcoreserverの組み合わせは不明な点がいっぱいです。

結局、今はCGI版で動作しており、特に問題も起こっていません
wordpressの速度的にモジュール版の方がCGI版よりも高速なのだそうですが、CGI版でずっと運営してきた実績があるので、当分はCGI版で動かしておこうと思います。

About
Amelt.net,LLCの創業者で、費用対効果の高い統合webマーケティングによりビジネスパートナーとして継続的にサポート。詳しいより。ブログの更新情報facebookページGoogle+そしてTwitter、またRSSfeedlyLINE@にてお知らせしていますのでフォローよろしくお願い致します。


Sponsored Links