phpMyAdminのSQLファイル・インポートでエラー

スポンサーリンク

phpMyAdmin で SQL ファイルから MySQL にデータを流し込んでリストアしようとしたところ、エラーが発生しました。phpMyAdmin にログイン後データベースを選択して、上部メニューの Import(インポート)から SQL ファイルを読み込ませようとしたら、ブラウザに以下のエラーメッセージが表示された。

— 環境 —
PHP 5.3.9
MySQL 5.6.19
phpMyAdmin 4.2.2

【お知らせ】 英単語を画像イメージで楽に暗記できる辞書サイトを作りました。英語学習中の方は、ぜひご利用ください!
画像付き英語辞書 Imagict | 英単語をイメージで暗記
【開発記録】
英単語を画像イメージで暗記できる英語辞書サービスを作って公開しました
スポンサーリンク

エラーの原因は php.ini の設定

エラーメッセージに参照リンクが含まれていたので、それを読みました。以下引用。

The first things to check (or ask your host provider to check) are the values of upload_max_filesize, memory_limit and post_max_size in the php.ini configuration file. All of these three settings limit the maximum size of data that can be submitted and handled by PHP. One user also said that post_max_size and memory_limit need to be larger than upload_max_filesize.

なるほどな〜。php.ini(PHP の設定ファイル)内の以下の3つの設定値を確認してね、ということらしい。

upload_max_filesize
memory_limit
post_max_size

アップロードしようとした(読み込ませようとした)ファイルのサイズが、これらの設定値より大きい可能性があるので、より大きな設定値にすれば良いみたい。あと注意点として、post_max_size と memory_limit は、upload_max_filesize より大きい必要があるそうだ。

確かに、Import を実行する画面でアップロードできるファイルのサイズが 2M までと制限されているのを確認できました。これを大きくすればいいのだろう。

Screen_Shot_2015-04-10_at_13_54_24

php.ini を編集して設定値を大きくする

まず php.ini がどの場所から読まれているのか分からなかったので、適当な場所に phpinfo() を表示させるファイルを作成します。phpinfo() で表示される情報に、php.ini の場所を確認できる項目がある。

phpinfo.php

このファイルをブラウザで表示させると、以下の “Loaded Configuration File” という項目があるので、そこで php.ini のパスを確認できます。

続いて、php.ini を編集。各々の設定値を大きくしました。この数値は、アップロードするファイルの大きさに合わせて任意に調整。

その後 Apache と MySQL を再起動して、再び Import を実行。

Screen_Shot_2015-04-10_at_13_54_49

今度は、アップロードできるファイルのサイズが 64M までになっています。Import を実行したところ、今度は実行が成功して無事にデータをリストアできました。

スポンサーリンク
私は Ruby on Rails の前は、PHP & CakePHP を使っていました(今も使いますけど)。PHP についてはオライリーの本を中心に軽く10冊以上は読み込みました。
 
スポンサーリンク

Leave Your Message!