TOP > note > さくらインターネットのレンタルサーバーで WordPress が 500 Internal Server Error を出した場合

さくらインターネットのレンタルサーバーで WordPress を使っているお客様から「500 Internal Server Error が出て、コンテンツが表示できなくなった」と連絡が入ったので調べてみました。

まずさくらさんのヘルプページでは500 Internal Server Errorの理由として下記があげられていました。

  •  .htaccessの「記述(Options など)」「書式」「文字コード・ 改行 コード」 に問題がある
  •  PHPに関する設定をphp.iniにせず、.htaccessに PHP_Flag やPHP_Value などに記述している
  •  CGI・PHPのファイル・フォルダのパーミッション(705・755)等、設定に誤りがある
  •  CGI・PHPプログラムが正しく動作していない
  •  メール送信を含むプログラムの場合、送信エラーが発生している

エラーの特定ができなかったので、エラーログを見てみました。
さくらインターネットさんのエラーログは管理画面の「アクセスログの設定」→「エラーログ」で見る事ができます。(ポップアップ画面で開きます)

2015-06-10-19.23.58

さてエラーログを見てみると

Premature end of script headers: index.php

の表示が。結論からいうと、index.phpのパーミッションを705にするとエラーが解消されました。
パーミッションのグループ(Group)で実行が入っているとエラーが起こるようです。

追記
さくらさんのサーバーを使っている場合、CGIとPHPをディレクトリ含めて705か755へということで、最初WordPress全体のフォルダのパーミッションを確認したのですが、最初からエラーログを見ていたら早かったかなと思いました。
エラーログの確認についてはFacebookのコメントでねんでぶさんより

500エラーの時はサーバコントロールパネル->PHP設定の編集で「php.ini 設定ファイル編集」に error_reporting 8191 て入れればエラー表示を見る事ができますよ。

と、アドバイス頂いたので追記しておきます。

エラーが出た時に必ずしもパーミッションの設定がというわけではありませんが、一助として。


More Publishing な WordCamp Tokyo 2015 arrow-right
Next post

arrow-left WordCamp Kansai 2014 を終えて
Previous post

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください