お問い合わせはコチラから

WordPressサイトのサーバー移転時に500エラーとなった意外な原因とは

サイト運営

WordPressサイトをhetmlからロリポップにサーバー移転したときに、500エラーが出て小一時間悩みました。

500エラーはPHPのエラーに起因して発生します。

この記事では、Wordpressの500エラーの解析方法と、サーバー変更時に500エラーとなった原因について説明しています。

500エラーが出た時は、wp-config.phpのdebugをONにする

define( 'WP_DEBUG', true );

500エラーの意外な原因とは?

デバッグモードを有効にすると、エラーが表示されるようになりました。

Parse error: syntax error, unexpected end of file in the line

ファイルの最後で、エラーが出ました。

エラーの原因は、if文の{}が閉じられていないためですが、{}はありました。

{}が認識されない原因は、テーマファイル内でPHPのショートタグを使っていたためでした。

移転前のサーバーでは、ショートタグを有効化していたのでしょうけど、移転後のサーバーでは有効化していなかったのでPHPのエラーになりました。

PHPのショートタグとは?

<?php ?>と書くのが普通ですが、ショートタグを有効化すると、

<? ?>と書くことができるようになるというものです。

php.iniの設定項目「short_open_tag」でショートタグを有効化する

short_open_tag = On

.htaccessでショートタグを有効化する

php_flag short_open_tag Off

まとめ

500エラーが出たら、wp-config.phpでdebugを有効にする。

Parse error: syntax error, unexpected end of file in the line

ソースコードを変更していないのに上記のエラーになった場合には、ショートタグを疑ってみる。

タイトルとURLをコピーしました