当前位置:首页 >  站长 >  编程技术 >  正文

PHP-FPM 进程池参数怎么算?内存除法题,算错就 502

 2026-08-28 14:00  来源: 互联网   我来投稿 撤稿纠错

  一键部署OpenClaw

后台传个 30MB 的视频或者 8MB 的主题包,进度条走到一半报错,或者干脆显示上传成功但文件不存在。这类问题的根源九成是 PHP 的上传限制,而且牵一发动全身——不是改一个参数就完事,得三个一起改。

; php.ini 上传相关三件套
upload_max_filesize = 64M ; 单个文件最大体积
post_max_size = 68M ; 整个POST请求最大体积(要比上面大)
memory_limit = 128M ; 脚本可用内存(处理大文件时也得够)

 upload_max_filesize。最容易踩的坑是只改了 upload_max_filesize,忘了 post_max_size——表单里除了文件还带点别的字段,POST 总量超了限制,PHP 直接拒绝整个请求,表现就是莫名失败。

PHP 这关过了还有 Nginx 这关。Nginx 默认 client_max_body_size 只有 1MB,超了直接返回 413 错误,请求根本到不了 PHP。

# nginx.conf 的 http 或 server 块里
client_max_body_size 64m;

# 改完重载
nginx -t && nginx -s reload

改 php.ini 之后记得重启 php-fpm 而不是 reload,个别版本 reload 不重读 ini。不确定改没改对,放一个探针页面看一眼最保险:

<?php
// info.php 访问后搜索 upload_max_filesize
phpinfo();
// 看完立刻删掉这个文件,别留在服务器上

还有个细节:上传的临时目录(upload_tmp_dir)所在分区要够大,大文件先落临时区再挪到目标目录,临时区满了同样失败。另外上传超时也得留意,网速慢的用户传大文件,max_execution_time 和 fastcgi_read_timeout 太短会中途断线,按需放宽。

最后提醒一句,开放大文件上传等于放大了被灌垃圾文件的风险,上传目录的权限、格式校验这些之前的文章讲过,别这边开了 64MB 那边忘了关大门。

数据来源:PHP官方手册 php.ini核心配置指令

申请创业报道,分享创业好点子。点击此处,共同探讨创业新机遇!

相关标签
php教程

相关文章

  • 定时任务还在页面里套 include?cron + PHP CLI 才是正路

    见过不少老站的处理方式:写个task.php,靠别人挂个监控或者用JS定时刷来触发,更狠的是每次有人访问首页顺带跑一遍统计。这些歪招的共同问题是不可控——没人访问就不跑,被搜索引擎高频抓取就狂跑。定时任务就该交给系统的cron。PHP从命令行跑有个专属的SAPI叫CLI,和网页那套php-fpm是两

    标签:
    php教程
  • 服务器磁盘天天告警?八成是日志没轮转,logrotate 十分钟配好

    有个经典事故:网站跑了半年突然全挂,查半天发现是磁盘满了,罪魁祸首是access.log涨到了80GB。日志不管理,等于给服务器埋了个定时炸弹。Linux自带的logrotate就是干这个的,大多数发行版装完就有,不用额外装任何东西。logrotate的思路很简单:按你定的周期把当前日志改名存档,压

  • 网站突然 502:别急着重启,顺着这条链路查五分钟定位

    半夜收到监控告警,打开网站一片502BadGateway。很多人的第一反应是重启服务器,运气好恢复了,运气不好过一小时又来。502的本质就一句话:Nginx活着,但后面的PHP-FPM或者上游服务没应答或拒绝连接。顺着这条链路查,比乱重启快得多。第一步看PHP-FPM进程在不在。psaux|grep

    标签:
    php教程
  • Nginx location 匹配规则没搞懂,改配置全靠猜?一张优先级表讲透

    很多站长第一次给网站加规则就翻车:明明写了location/admin/的限制,访问/admin/login.php却没生效;或者想给图片加缓存头,结果整个站都被匹配走了。问题不在Nginx,在于location的匹配顺序跟你想象的完全不一样。先记住一个反直觉的点:location不是从上到下按顺序

  • 从访问日志揪出SQL注入尝试:特征码就藏在URL里

    多数站长以为自己的站没人盯上,实际上随便一台公网服务器每天都被自动扫描器过一遍。有没有人试过SQL注入,access.log里写得明明白白,只是你没去看。注入尝试的特征很固定:URL或参数里出现单引号的编码%27、unionselect、and1=1这类探测语句、sleep(或benchmark(这

热门排行

信息推荐