私はテストサーバーに大きなデータをアップロードしようとしていますが、これまでにいくつかのファイルを修正しました。
php.ini
memory_limit=2048M
php_value post_max_size 2048M
php_value upload_max_filesize 2048M
my.ini
key_buffer = 32M
max_allowed_packet = 2048M
sort_buffer_size = 32M
net_buffer_length = 32M
read_buffer_size = 32M
read_rnd_buffer_size = 32M
myisam_sort_buffer_size = 64M
50 MB程度の大きなファイルをアップロードできますが、200 MB前後のファイルをアップロードしようとすると、次のエラーが表示されます。
致命的エラー:C:\ Program Files\xampp\phpMyAdmin\libraries\insert_edit.lib.phpの行1879でメモリ不足(1161822208に割り当て済み)(462046611バイトを割り当てようとしました)
Php.iniで申請する
post_max_size = 750M
upload_max_filesize = 750M
max_execution_time = 5000
max_input_time = 5000
memory_limit = 1000M
次に、変更を有効にするためにwamp/lampp/xamppを再起動します。時間がかかります。次のエラーが表示された場合、「インポートを終了する場合、スクリプトタイムアウトが経過しました。同じZipファイルを再送信してインポートを再開してください」
次にphpMyAdminで
phpMyAdmin\libraries\config.default.php
/**
* maximum execution time in seconds (0 for no limit)
*
* @global integer $cfg['ExecTimeLimit']
*/
$cfg['ExecTimeLimit'] = 0;
それを変更
ソース: XAMPPで大きなデータベースファイルをインポートする方法
Xampp\php\php.iniに変更を加えます
以下を探してください。
post_max_size = 8M
upload_max_filesize = 2M
max_execution_time = 30
max_input_time = 60
memory_limit = 8M
次に、行を次の行に置き換えます。
post_max_size = 750M
upload_max_filesize = 750M
max_execution_time = 5000
max_input_time = 5000
memory_limit = 1000M
同じエラーが引き続き表示される場合は、変更を行った後、XAMPPを再起動してください–コンピューターを再起動してください。
または、SQLを解析する代わりに、シェル経由でmysqlインポートを実行することもできます。
このCMDを使用:mysql -p -u username database_name <file.sql
Xamppを使用してシェルを有効にする方法については、こちらの指示をお読みください here
可能であれば、コマンドラインからMySQLデータをインポートしてください。
mysql -u user -p database < dump.sql