ロリポップからXserverにサイトを移転したら、WordPressが「このサイトに重大なエラーがありました」と言っていました。
移転元と同じように移転したつもりなのですが、結構強力なエラーが出てしまい困惑。
wp-config.phpでデバッグモードを有効化したら、テーマファイルの中にエラーがあり、
PHP Parse error: syntax error, unexpected T_STRING
と教えてくれました。
XHTML の冒頭に書かなければならない冒頭の行が、PHP スクリプトとして処理されてしまうために起こるエラーらしい。
この記事では、Xserverにサイト移転して、テーマファイル等のユーザーファイルで、PHP Parse error: syntax error, unexpected T_STRINGが出た時の回避方法をまとめます。
<?xml version=”1.0″ encoding=”UTF-8″?>がエラーの原因
PHPファイルの中に、<?xml version=”1.0″ encoding=”UTF-8″?>があると、『<?』をPHP のショートオープンタグだと認識してしまって、エラーになるようでした。
つまり、Xserverでは初期状態でPHP のショートオープンタグが有効になっているということです。
エラーを回避するには?
PHP のショートオープンタグを無効にします。
移転元でエラーが無いということは、PHP のショートオープンタグが無効になっていなかったハズです。
ということで、XserverでもPHP のショートオープンタグを無効にします。
PHP のショートオープンタグを無効にするには?
Xserverのphp.ini設定から直接書き換えます。
short_open_tag = On
↓
short_open_tag = Off

まとめ
Xserverはクセのないサーバーとして有名で、サイト移転して問題が起きることは少ないのです。
しかし、制作会社等が自作テーマでサイトを作ってる場合は、クセ強めの構成になってることがあります。
もしエラーが起きた時はこの記事を思い出してください。