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

解決 phpMyAdmin 匯入 2MB 以上大檔案限制:兩種實用方案

     編輯:PHP 綜合知識

phpMyAdmin 預設受限於 PHP upload_max_filesize、post_max_size、memory_limit 設定,無法直接匯入大型 SQL 檔。本文提供兩種解決方案:修改 PHP 設定與利用 phpMyAdmin 上傳目錄功能繞過限制。

方案一:修改 php.ini 參數(根治)

  1. 找到 php.ini(php --ini 或 phpinfo() 查看路徑);
  2. 修改三項參數為大於目標檔案大小的值(單位:M):
upload_max_filesize = 100M
post_max_size = 100M
memory_limit = 256M  
  1. 重啟 PHP-FPM / Apache 生效:systemctl restart php-fpm 或 service apache2 restart。

注意:雲端主機、共享主機通常無權修改 php.ini,需用方案二。

方案二:phpMyAdmin 上傳目錄功能(免改 php.ini,推薦)

以 phpMyAdmin 3.1.0+ 為例,安裝目錄假設為 E:\wwwroot\phpMyAdmin\:

  1. 在 phpMyAdmin 目錄下建立 upload 資料夾,確保 Web 伺服器可寫入;
  2. 修改兩個配置檔:
; config.sample.inc.php
$cfg['UploadDir'] = 'upload';

; libraries/config.default.php
$cfg['UploadDir'] = 'upload';
  1. 用 FTP/SCP 將大型 SQL 檔上傳至 phpMyAdmin/upload/;
  2. 登入 phpMyAdmin → 匯入 → 會出現「伺服器上的檔案」下拉選單,選擇對應 SQL 檔執行匯入。

此方式繞過 HTTP 上傳限制,直接由伺服器端讀取檔案,無大小限制。

進階技巧

  • 壓縮檔匯入:支援 .gz、.bz2、.zip 壓縮 SQL,上傳前先壓縮可大幅減小體積;
  • 分割匯入:超大檔(>500MB)建議用工具(如 SQLDumpSplitter)分割成小檔批次匯入;
  • 命令列匯入:有 SSH 權限時,mysql -u user -p db_name < huge.sql 最快、最穩定、無大小限制;
  • BigDump 腳本:知名 PHP 分批匯入工具,適合無 SSH 的虛擬主機。

常見錯誤排查

錯誤原因解決
上傳目錄不出現路徑錯誤、權限不足、配置未生效檢查絕對/相對路徑、chmod 755、重啟 Web 服務
匯入中斷max_execution_time 過短php.ini 設 max_execution_time = 0 或較大值
記憶體耗盡memory_limit 不足調大 memory_limit 或用分批工具

視環境權限選擇方案,命令列永遠是大數據匯入的首選。

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