直接调大upload_max_filesize和post_max_size可解决,但必须同步修改、重启服务、确认改对web sapi对应的php.ini;常见错误是改错cli版配置,或post_max_size未≥upload_max_filesize导致post被截断。
直接调大 upload_max_filesize 和 post_max_size 就能解决,但必须同步改、必须重启服务、必须确认改的是 web sapi 对应的配置文件——改错位置或漏重启,等于没改。
为什么改了 php.ini 还是报“文件过大”
常见错误是改了 CLI 版本的 php.ini(比如 /etc/php/8.1/cli/php.ini),而 phpMyAdmin 走的是 PHP-FPM 或 Apache mod_php,实际生效的是另一个配置文件。
- 在 phpMyAdmin 页面点「其他」→「PHP 信息」,搜索
Loaded Configuration File,看到的路径才是真正在用的php.ini -
post_max_size必须 ≥upload_max_filesize,否则 POST 数据整体被截断,上传阶段就失败 - 改完不重启 PHP-FPM 或 Apache,配置不会加载;只重载(reload)不够,得
restart - 某些主机商禁用
.htaccess中的php_value,此时加配置无效
宝塔面板里怎么快速改对
进宝塔 → 网站 → 找到对应站点 → PHP 设置 → 配置修改,直接改以下四行(单位是 M,不是 MB):
upload_max_filesize = 256Mpost_max_size = 256Mmax_execution_time = 600memory_limit = 512M
保存后,务必点击「重启 PHP 服务」——不是「重载配置」,也不是「重启网站」。改完再访问 phpinfo.php 验证数值是否更新。
导入超 50MB 的 SQL 文件别硬扛 phpMyAdmin
即使命令行导入成功,也容易因细节翻车:
- SQL 文件里含
CREATE DATABASE或USE database_name,可能建错库或切错库 - 文件编码不是 UTF-8 无 BOM,中文字段会乱码
-
SET FOREIGN_KEY_CHECKS=0开了但结尾没恢复,后续写操作可能异常 - 没关外键检查时导入含依赖顺序的表,会报错中断
推荐命令行导入:先用 FTP 把 large.sql 传到服务器(如 /www/backup/),再执行:
mysql -u root -p your_db_name <p>如果提示 <code>mysql: command not found</code>,用绝对路径:<code>/www/server/mysql/bin/mysql</code>。</p> <h3>临时绕过上传限制的快捷方式</h3> <p>没权限改 PHP 配置?可以启用 phpMyAdmin 的本地上传目录功能:</p>
- 在 phpMyAdmin 根目录下新建
upload文件夹(权限设为755) - 编辑
config.inc.php,加一行:$cfg['UploadDir'] = 'upload'; - 用 FTP 把 SQL 文件传进
upload/,回到 phpMyAdmin 导入页,就能从下拉菜单选服务器上的文件
这个方法不碰 PHP 配置,也不依赖 upload_max_filesize,但要求 phpMyAdmin 已启用该功能(默认开启)。
真正卡住的往往不是上传大小,而是 phpMyAdmin 把整个 SQL 读进内存再解析执行——哪怕上传成功,200MB 文件也可能因 max_execution_time 或内存溢出中断。命令行导入没这层开销,才是生产环境的常规做法。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











