问题简述
无论是本地开发开始服务器开发,我都改好了 php.ini 里面的 max_upload_filesize 和 post_max_size 都为 128M,php-fpm 下已经可以上传大文件,并且命令行下的 php -i | grep max_upload_file
两个参数都是 128M 了,然后启动 frankenphp 服务访问监听 8000 端口,然后开始POST访问上传文件的路由,还是无法上传 > 2M
的文件,这个 2M 限制是安装 php 时 php 官方的默认值,并且 header
头参数也是我的当前 php 版本。
php -i | grep php.ini
可以查看 php.ini 文件路径
我不清楚为什么总是读到了 2M 这个默认配置,即使我更改了 php.ini 有可能读到了
php.ini-production
或php.ini-develop
,配置不应该这么复杂,我测试 frankenphp 模式下无法输出 phpinfo() 一直都是空白,所以我无法继续调试下去了,I'm stuck
我的解决方式
在 php 项目的根目录,创建一个 php.ini
的文件,我在 stackoverflow 里看到有人说 frankenphp 会读取和它同级的 php.ini 配置文件,所以我尝试了一下
image.png
php.ini 的配置内容就像这样,只需要这两行即可,当然如果你还有 memory_limit 问题,就自己添加进来就好了,比如 memory_limit=128M
post_max_size=128M
upload_max_filesize=128M
就像这样
image.png
OK 重启 frankenphp 测试
上传文件时是否还会返回 422 错误,理论上你应该成功了~