首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

解決 phpMyAdmin 導入資料庫檔案 2048KB 限制:php.ini 核心參數調優指南

     編輯:PHP 綜合知識

問題現象

phpMyAdmin 導入 SQL 檔案時提示:Max file size: 2,048 KiB,無法導入大型資料庫備份。

根因

PHP 核心配置限制了上傳檔案大小、POST 資料大小與腳本記憶體上限,預設值過於保守:

  • upload_max_filesize = 2M
  • post_max_size = 8M (需 ≥ upload_max_filesize)
  • memory_limit = 128M (需 ≥ post_max_size)

解決方案:修改 php.ini

1. 定位 php.ini

  • Windows: C:\php\php.ini 或 Apache/bin/php.ini
  • Linux: /etc/php.ini、/etc/php/7.x/apache2/php.ini、/usr/local/php/etc/php.ini
  • 執行 php --ini 或 phpinfo() 確認載入路徑

2. 修改三大核心參數

; 檔案上傳大小限制
upload_max_filesize = 100M

; POST 資料總大小限制 (必須 ≥ upload_max_filesize)
post_max_size = 100M

; 腳本記憶體上限 (必須 ≥ post_max_size,建議更大)
memory_limit = 512M

; 額外建議:執行時間限制 (導入大檔案需較久)
max_execution_time = 300
max_input_time = 300

參數關係圖

memory_limit (512M)
    ↑
post_max_size (100M)  ← 含檔案+表單欄位
    ↑
upload_max_filesize (100M)  ← 單檔案上限

3. 重啟 Web 服務生效

# Apache
sudo systemctl restart apache2
# 或
sudo service httpd restart

# Nginx + PHP-FPM
sudo systemctl restart php-fpm
# 或
sudo service php7.4-fpm restart

驗證修改生效

或在 phpMyAdmin 首頁查看「PHP 資訊」區塊。

進階:針對單一目錄/虛擬主機調整

.htaccess (Apache)

php_value upload_max_filesize 100M
php_value post_max_size 100M
php_value memory_limit 512M

.user.ini (PHP-FPM / CGI)

upload_max_filesize = 100M
post_max_size = 100M
memory_limit = 512M

放置於專案根目錄,PHP 會自動讀取 (需 user_ini.filename 配置)。

phpMyAdmin 專屬配置

編輯 config.inc.php:

$cfg['UploadDir'] = '/var/lib/phpmyadmin/upload/';
$cfg['SaveDir'] = '/var/lib/phpmyadmin/save/';
$cfg['ExecTimeLimit'] = 300;  // 覆蓋 max_execution_time

將大型 SQL 檔案上傳至 UploadDir,phpMyAdmin 介面會顯示「從伺服器上傳目錄導入」選項,繞過 HTTP 上傳限制。

常見問題排查

現象原因解決
修改後仍限制 2M修改錯誤的 php.ini、未重啟服務phpinfo() 確認 Loaded Configuration File
導入超時max_execution_time 過小調大至 300-600 秒
記憶體耗盡memory_limit 過小調大至 512M+,或分割 SQL 檔案
Nginx 413 錯誤client_max_body_size 限制nginx.conf: client_max_body_size 100M;

總結

修改 upload_max_filesize、post_max_size、memory_limit 三大參數並重啟服務,即可解決 phpMyAdmin 導入大小限制。生產環境建議搭配 max_execution_time、Nginx client_max_body_size、分割大檔案等多重保障。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved