WordPressでブログを作っていると、ブログのデザインを変更したくなったり、レイアウトデザインを変更したいと思うことが出てくるでしょう。そんな時は、レイアウトデザインのファイルをWordPressにインポートしてデザインの変更を行います。しかしインポート中に「Fatal error:Maximum execution time of 30 seconds exceeded in」が発生して先に進まないことが起きてしまった。その場合の対処法をエックスサーバーを例に紹介します。
[adcode]Fatal error:Maximum execution time of 30 seconds exceeded inの状態
実際に「Fatal error:Maximum execution time of 30 seconds exceeded in」エラーになった画面のイメージをご覧ください。
実際のエラー画面
500 Internal Server Errorの画面
上記のエラーが発生した場合は、この記事を参考にしてみてください。「500 Internal Server Error」の場合は必ずしも「Fatal error:Maximum execution time of 30 seconds exceeded in」エラーとは限りません。僕の場合「Fatal error:Maximum execution time of 30 seconds exceeded in」になったり「500 Internal Server Error」になったり2通りのパターンがありました。
[adcode]対処法:php.iniの設定を変更する
PHPの設定では、無限ループを回避するためにPHP処理のタイムアウト時間が30秒に設定されています。要は、PHPの処理が30秒以上かかっているということです。そこで、初期設定のタイムアウト時間を30秒から伸ばしてやればいいということになります。
手順1:エックスサーバーのサーバーパネルへ
エックスサーバーを例で説明しますので、エックスサーバーの「サーバーパネル」へいきます。エックスサーバー以外の方は、サーバーパネルに相当する管理画面に行ってください。
手順2:php.ini設定へ
次にPHPの欄から「php.ini設定」へ進みます。
手順3:ドメインの選択
ドメインを複数持たれている方はドメインの選択を行います。変更したいドメインを選択してください。
手順4:php.ini設定変更
「php.ini設定変更」タグへ移動します。
手順5:max_execution_timeの変更
max_execution_timeを「30秒」から「60」や「180」に変更してください。変更したら下の方の「設定する(確認)」をクリックします。
手順6:設定の確定
変更が反映されて、間違いなければ「設定する(確定)」をクリックします。
これで、タイムアウト時間の変更が終了しました。この状態で、再度、インポートを試してみてください。インポートが成功したら、設定を戻しておいた方がいいでしょう。
まとめ
エックスサーバーには限らないかと思いますが、重たいファイルなど処理に時間がかかるファイルをインポートすると、今回のような「Fatal error:Maximum execution time of 30 seconds exceeded in」エラーが発生する場合があります。
僕は、テーマのテンプレートをインポートする時に発生しましたので設定を変更して対応しました。皆さんも、このエラーが発生した場合は、タイムアウト時間(max_execution_time)を変更してください。また、エックスサーバーのサーバーパネルでは色んなことができます。折角、独自ドメインを取得してサーバーをレンタルしているのですから、出来るだけ活用してみましょう。