
我/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 容器。
答案1
找到原因了,確實是特定於 PHP 5.5 的 Elastic Beanstalk 容器。
由於某些不明原因,AWS 團隊選擇php.ini
從原來的位置/etc/php.ini
搬到/etc/php.d/php.ini
.
因為 中的文件php.d
是按字母順序處理的,所以我的app.ini
現在已處理前 php.ini
,並因此被覆蓋。
我已經打開了AWS 論壇上的主題,詢問 AWS 是否會考慮搬回php.ini
原來的位置。
同時,解決方案很簡單重新命名該檔案以使其出現在 php.ini 之後,就我而言,重新命名為就zapp.ini
成功了。