我/etc/php.ini
的配置如下:
upload_max_filesize = 2M
post_max_size = 32M
并/etc/php.d/app.ini
包含:
upload_max_filesize = 64M
post_max_size = 64M
在 PHP 5.4 中,PHP 赋予 app.ini 值优先于 php.ini 中的值;但是,自从我切换到 PHP 5.5 后,它们不再具有优先权:
# php -r "echo ini_get('upload_max_filesize');"
2M
该app.ini
文件看起来已被 PHP 成功解析:
# php --ini
...
/etc/php-5.5.d/app.ini,
...
(/etc/php.d
是一个符号链接/etc/php-5.5.d
)
如何强制 php.d ini 文件优先于 php.ini?
如果这有什么不同,我正在使用适用于 PHP 5.5 的 AWS Elastic Beanstalk 容器。
找到了原因,这确实是PHP 5.5 的 Elastic Beanstalk 容器特有的。
由于某种不明原因,AWS 团队选择
php.ini
从原来的位置/etc/php.ini
搬到/etc/php.d/php.ini
.因为中的文件
php.d
是按字母顺序处理的,所以 myapp.ini
现在是在之前php.ini
处理的,因此被覆盖了。我在 AWS 论坛上开了一个帖子,询问 AWS 他们是否会考虑
php.ini
搬回原来的位置。同时,解决方案只是重命名文件以使其出现在 php.ini 之后,在我的情况下重命名就可以
zapp.ini
了。