web-dev-qa-db-ja.com

php.iniのupload_max_filesize、memory_limit、post_max_sizeの変更は影響しません

PHPMyadminで大きなファイルをインポートするために、upload_max_filesizeなどを大きくしようとしています。

Php.iniを変更し、Apacheを再起動しました。 PHPMyadminのインポート画面(最大:300MiBで言及)で変更を確認できますが、50 Mのファイルをインポートしようとするとアラートが表示されます。

インポートするデータを受信しませんでした。ファイル名が送信されなかったか、ファイルサイズがPHP設定で許可されている最大サイズを超えました。 FAQ 1.16を参照してください。

それがどのようになり得るかについてのアイデア:一方では、変更が有効になったように見えますが、他方では機能しません...

どうもありがとうございました。

4
Izzy

link からのソリューションコピー

独自のUbuntuサーバーを実行している場合は、デフォルトで2Mbに設定されているphpスクリプトで最大ファイルサイズのアップロード制限が発生する場合があります。それを変更するために、最初に実際のサイズを確認します。/var/www(標準wwwディレクトリ)に、次の内容のinfo.phpというファイルを作成します。

<?php
// Show all information, defaults to INFO_ALL
phpinfo();
?>

次に、localhost/info.phpでこのファイルを参照し(必要に応じてlocalhostをサーバー名に置き換えて)、次の行を探します。

upload_max_filesize 2M 2M

実際の最大ファイルサイズが表示されます。これを変更するには、サーバーへのssh接続を開き、ファイル/etc/php5/Apache2/php.iniを編集します

Sudo nano /etc/php5/Apache2/php.ini

ctrl-Wで「upload_max_filesize」を検索し、「2M」を「20M」に変更します。 Ctrl-Oでファイルを保存し、Ctrl-Xで終了します。 Apacheサーバーを再起動します

Sudo /etc/init.d/Apache2 restart

もう一度localhost/info.phpにアクセスして、最大ファイルサイズが変更されたかどうかを確認します。

8
Kailas

これが私の解決策でした: https://stackoverflow.com/questions/8853301/phpmyadmin-file-import-error

私は自分の開発マシンでこれを修正しました。 /etc/phpmyadmin/Apache.confで、phpmyadminが一時ファイルを保存しようとしている場所を確認できます。例:

php_admin_value upload_tmp_dir/var/lib/phpmyadmin/tmp

これがApacheを実行するユーザーによって書き込み可能であり、空き容量があることを確認してください。私の場合、私の開発マシンでは、通常のwww-dataまたはApacheユーザーではなく、自分のユーザーとしてApacheを実行しています。そのtmpディレクトリはユーザーによって書き込み可能ではありませんでした。

1
Izzy