phpMyAdmin读取php.ini中upload_max_filesize值异常问题
问题:upload_max_filesize读取值与php.ini配置不符
我为了排查phpMyAdmin导入文件大小限制的问题,临时修改了wamp\apps\phpmyadmin4.7.9\libraries\Util.php里的generateHiddenMaxFileSize方法,代码如下:
//shows the output in the `import` section in phpmyadmin public static function generateHiddenMaxFileSize($max_size) { $out1 = php_ini_loaded_file(); //output: E:\Entwicklung\Programme\wamp\bin\apache\apache2.4.33\bin\php.ini $out2 = ini_get("upload_max_filesize"); //output: 128M return "<p>php.ini: $out1</p><br><p>$out2</p>"; }
按照预期,这个方法应该读取到wamp\bin\apache\apache2.4.33\bin\php.ini中配置的upload_max_filesize = 2048M,但实际返回的却是128M。该php.ini里的对应配置片段是:
; Maximum allowed size for uploaded files. ; http://php.net/upload-max-filesize upload_max_filesize = 2048M
我测试修改了serialize_precision等其他配置项,ini_get都能正确识别到变更,而且已经重启了WAMP的所有服务,唯独upload_max_filesize的读取结果异常。(注:此问题已通过重复操作解决)
常见排查方向总结
- 检查是否有额外的配置文件覆盖:WAMP环境中PHP可能会加载
conf.d目录下的额外ini文件,或者存在php.ini的副本生效。可以通过phpinfo页面查看Additional .ini files parsed项,确认是否有其他文件修改了upload_max_filesize的值。 - 验证post_max_size配置:
upload_max_filesize的值不能超过post_max_size,如果post_max_size还是默认的128M,部分环境会自动将upload_max_filesize限制为post_max_size的大小,所以需要确保两者都设置为足够大的值。 - 排查Apache配置中的覆盖项:在Apache的虚拟主机配置文件或者项目目录的
.htaccess中,可能存在php_value upload_max_filesize 128M这样的设置,会直接覆盖php.ini的配置,需要检查这些文件。
内容的提问来源于stack exchange,提问作者Black
相关产品推荐
相关产品推荐

