phpadminの「Incorrect format parameter」エラーと「スクリプトがタイムアウトしました。・・・」エラーの対策

2018年12月22日

ちわスピカです。前回はXAMPPを最新バージョンにすべく奮闘。

ここですよ。ここ まだ読んでいない人はここから読んでね。

とりあえず、phpadminのrootにパスワードかけるところまで行きました。

で早速バックアップしたデータベースを復帰

すると見慣れないエラーが・・

どうやらバックアップしたデータベースファイルの容量が大きくてでたらしい。そこで

XAMPPのコントロールパネルからphp.iniファイル起動。

テキストエディターが起動してphp.iniファイルの中身が表示されたはず。そこの810行めあたりに

upload_max_filesize=2M

という項目があるはず。なかったら探そう。絶対ある・・

そこのパラメータが2Mがなっている。これはそのときのバージョンによって変わっている可能性もあるため確認しておこう。

これを私の場合元のデータベースファイルが約50MBだったため64Mに設定。

同じく660行めあたりにある。

post_max_size=8M

を同じく64MBに設定。

そして最後に

memory_limit = 128M

となっているところを256Mに変えた。(もしかするとこれは必要なかったかもしれない。試行錯誤してこの値でうまくいったためだが他のパラメータも関係するため多分デフォルトで大丈夫かも・・)

どうやら設定は下記の条件でやらなければならないようです。

memory_limit ≧ post_max_size ≧ upload_max_filesize

XAMPPからapachを再起動

iniファイルを編集したら必ずapachを再起動しましょう。そうでないと変更した設定が反映されません。

データベースインポート画面で設定したことが反映されていればOK

更なるエラー発生。

スクリプトがタイムアウトしました・・・とのエラーが・・

どうやら再度同じファイルを読み込めば大丈夫らしいが読み込んだところ大量のエラーが発生。やっぱダメだ。

ということで根本的な解決策を模索。

もしかするとphpadminののログイン時間のタイムアウトかもということで

php.iniの1300行めあたりの

[Session] ; Handler used to store/retrieve data.
; http://php.net/session.save-handler
session.save_handler=files

の後ろに

session.gc_maxlifetime = 14400

を追加。

また、config.inc.phpの最後に

$cfg['LoginCookieValidity'] = 14400;

を追加。

がしかしこれでも「スクリプトがタイムアウトしました・・・」とのエラーがでました。

どうやらこれが主原因ではなかったようです。 注)

最後に[/libraries/config.default.php]内の$cfg[‘ExecTimeLimit’] = 300;を変更。

$cfg[‘ExecTimeLimit’] = 300;

はどうやらインポートしている時間のタイムアウト時間を設定しているみたい。

[/xampp/phpMyAdmin/libraries/config.default.php]内の

$cfg[‘ExecTimeLimit’] = 300;3000にすることで無期限となるようです。

$cfg[‘ExecTimeLimit’] = 0;

また、この/xampp/phpMyAdmin/config.default.phpファイルをいじりたくない人は

[/xampp/phpMyAdmin/config.inc.php]内のPHPコードの[?>]より前に

$cfg['ExecTimeLimit'] = 0;

を追加することでconfig.default.phpより優先して実行されるようです(未確認)

これで無事インポート終了しました。いやてこずった・・

これでバックアップしたWordPressサイトの復帰が終了。

あとは、ローカルログインをして通常どおり編集できます。

総 括

注)のところの「session.gc_maxlifetime = 14400」はもしかするといじらないくてもOKかもしれません。

もしデータベース内の文字列を置換するならここの((「Search-Replace-DB」をダウンロードしておく))あたりから読んでおくとその後がスムーズかもしれません。

今回はローカルでのwordpressの構築についてバージョンアップする方法を記しました。

wordpress自体はプラグインでも可能かもしれませんが、XAMPPはプラグインでバージョンアップとは現状ではいかないようです。

また、一定のフローの中で得た知識は実際運用しているレンタルサーバーの引っ越しなどにこの知識が役立てられるためよいシミュレーションになります。

ローカル環境でのテストの大事さ

実際運用しているサイトのコピーサイトをローカルで作成してそこでプラグインなどが動くかCSSの改変をテストする環境ができます。

もしそのプラグインがダメだったり、CSSの改変で動かなくなりもとに戻らなくなったら、XAMPPを最初からインストールしなおしバックアップを戻せば問題ありません。

ローカル環境だからできるワザです。

もし実際運用しているサイトで直にプラグインやCSSファイルを改変して動かなくなったら大変です。PV下がるわ、検索順位落ちるわ、いいことありません。

ローカル環境でうまくいったら

まずはローカル環境で試し成功したら実績のあるレンタルサーバーで改変したcssをアップロードしたりプラグインを入れれば、リスクはかなり軽減できます。