Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 伺服器技術 >> 關於伺服器

phpMyAdmin 導入大文件突破 2MB 限制:無需修改 php.ini 的實戰方案

編輯:關於伺服器

虛擬主機或受限環境下,php.ini 的 upload_max_filesize 和 post_max_size 往往鎖死在 2MB,導致 phpMyAdmin 無法導入大體積 SQL 文件。無權修改配置、無 SSH 權限怎麼辦?phpMyAdmin 內建的 UploadDir 機制 完美繞過此限制。

核心原理

phpMyAdmin 允許配置一個服務器端上傳目錄($cfg['UploadDir'])。將 SQL 文件通過 FTP/文件管理器上傳到該目錄,導入時從「服務器上載目錄」下拉選單選擇,**完全繞過 HTTP POST 上傳限制**,也不受 php.ini 大小限制影響。

操作步驟(以 phpMyAdmin 4.x/5.x 為例)

1. 建立上傳目錄

在 phpMyAdmin 安裝根目錄下新建目錄,名稱任意(如 sql_uploads):

mkdir /path/to/phpmyadmin/sql_uploads
chmod 755 /path/to/phpmyadmin/sql_uploads  # 確保 Web 進程可讀寫

2. 修改配置文件

編輯 libraries/config.default.php(或 config.inc.php),搜索 $cfg['UploadDir'] 並修改:

$cfg['UploadDir'] = 'sql_uploads';  // 相對於 phpMyAdmin 根目錄
$cfg['SaveDir'] = '';               // 導出目錄,按需設置
$cfg['TempDir'] = './tmp';          // 臨時目錄,建議顯式指定並可寫
> **注意**:若使用 config.inc.php(推薦,不會被升級覆蓋),請在該文件中覆蓋設置: >
$cfg['UploadDir'] = 'sql_uploads';

3. 上傳 SQL 文件

使用 FTP、SFTP、面板文件管理器等工具,將需導入的 .sql、.sql.gz、.sql.bz2 文件上傳至 sql_uploads/ 目錄。

4. phpMyAdmin 界面導入

  1. 登錄 phpMyAdmin,選中目標數據庫
  2. 點擊頂部選單 「導入」 標籤
  3. 在「文件上傳」區域下方,會出現 「服務器上載目錄」 下拉框
  4. 展開選單,選中剛上傳的 SQL 文件
  5. 滾動到底部,點擊 「執行」 按鈕

系統會直接從服務器本地磁盤讀取文件並導入,**無大小限制、無超時風險、速度極快**。

進階技巧與避坑

  • 壓縮文件優先:上傳 .sql.gz 或 .sql.bz2,phpMyAdmin 會自動解壓導入,傳輸更快、佔用空間更小。
  • 權限陷阱:目錄擁有者需為 Web 服務器進程用戶(如 www-data, nginx, apache),權限 755 或 775,否則下拉框為空或報錯「無法讀取目錄」。
  • 路徑穿越風險:UploadDir 僅支持相對路徑,且限制在 phpMyAdmin 目錄樹下,防止目錄穿越攻擊。
  • 大文件導入優化:導入前在 SQL 文件頭部添加 SET autocommit=0; SET foreign_key_checks=0; SET unique_checks=0;,結尾加 COMMIT;,可大幅提速 InnoDB 導入。
  • 替代方案:若有 SSH 權限,mysql -u root -p db_name < huge.sql 仍是最快、最穩妥的方式。

總結

利用 phpMyAdmin 內建的 UploadDir 功能,**零配置修改、零權限要求、零代碼改動**,即可輕松突破 2MB 導入限制。這是虛擬主機用戶、無 root 權限開發者、快速遷移數據時的「隱藏神技」。下次再遇大 SQL 文件,別再傻傻改 php.ini 或求客服了——幾分鐘搞定,優雅下班。

Copyright © Windows教程網 All Rights Reserved