解決策は、 tmp
というフォルダーを作成することでした このように:/usr/share/phpmyadmin/tmp
.
また、Web サーバー (Apache など) を実行しているユーザー (またはグループ) が、新しく作成された tmp フォルダーへの書き込みアクセス権を持っていることも確認してください。したがって、所有権をそのユーザーに変更するか、すべてのユーザーに書き込みアクセス権を追加してください。後者はあまりお勧めできないかもしれません.
簡単な修正は、phpmyadmin ディレクトリに tmp ディレクトリを作成し、パーミッションを 777 に設定することです
mkdir tmp && chmod 777 tmp
それから
config.inc.php ファイルを更新して、その行を追加してください
$cfg['TempDir'] = 'tmp';
パッケージリポジトリ(v4.6.6)のphpMyAdminバージョンを最新バージョン(4.8.0)に置き換えたとき、Ubuntu 18.04でも同じ問題が発生しました。あなたが Ubuntu で実行しているかどうかはわかりませんが、似たような問題に遭遇したあなた (または他の人) にとって、私の回答が役立つかもしれません。
新しいバージョンを標準の場所 /usr/share/phpmyadmin/
に配置しました 、ただし、PMA の Ubuntu のパッケージ インストールでは、一部の構成設定が別の場所に配置されます (/etc/phpmyadmin/
を参照)。 と /var/lib/phpmyadmin/
)。 /etc/phpmyadmin/apache.conf
でこの設定を見つけました :
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
そのディレクトリが作成され、適切な権限を持っていることを確認してください。パッケージのインストール設定にできる限り近づけるため、/usr/share/phpmyadmin/libraries/vendor_config.php
でこの変更を行いました そのフォルダーを直接指定しました:
//define('TEMP_DIR', './tmp/');
define('TEMP_DIR', '/var/lib/phpmyadmin/tmp/');
この設定は /usr/share/phpmyadmin/libraries/config.default.php
によって取得されます (編集することは想定されていません) $cfg['TempDir']
を設定します .