PHP /etc/php.ini
未遵守upload_max_filesize
详细说明:
使用<?php echo phpinfo(); ?>
我可以看到“已加载的配置文件”#39;是/etc/php.ini
在这个文件中我有值:
file_uploads = On
upload_max_filesize = 12M
post_max_size = 12M
BUT phpinfo();显示upload_max_filesize 2M
重新启动Apache几次后,无论我更改upload_max_filesize和max_post_size,都不会遵守此值。
我使用.htaccess指令解决了这个问题
php_value upload_max_filesize 12M
php_value post_max_size 12M
这允许更改上传值,PHPINFO()现在可以正确显示值。
Directive Local Value Master Value
upload_max_filesize 12M 2M
问题是:为什么首先没有遵守/etc/php.ini文件?
运行CentOs 5.4,php 5.3.29
在grep -inr '2M' *
中搜索过{/etc/php.d/*
)但未找到任何内容。
为什么它没有收听它说它正在使用的主要php.ini文件?
已经看过了 PHP upload_max_filesize
和 Changing upload_max_filesize on PHP
在SO上没有成功。
- UPDATE--
搜索grep -inr 'upload_max_filesize in /etc/*.ini
和 .conf,仅返回12M值。
搜索了/ etc / httpd / conf / /etc/httpd/conf.d/,显然是虚拟主机的根目录。在grep返回0结果的虚拟主机中没有特殊设置。
Additional .ini files parsed
/etc/php.d/bcmath.ini, /etc/php.d/curl.ini, /etc/php.d/dom.ini, /etc/php.d/fileinfo.ini,
/etc/php.d/gd.ini, /etc/php.d/intl.ini, /etc/php.d/json.ini, /etc/php.d/ldap.ini,
/etc/php.d/mbstring.ini, /etc/php.d/mcrypt.ini,
/etc/php.d/mysql.ini, /etc/php.d/mysqli.ini, /etc/php.d/pdo.ini, /etc/php.d/pdo_mysql.ini, /etc/php.d/pdo_sqlite.ini,
/etc/php.d/phar.ini, /etc/php.d/posix.ini, /etc/php.d/soap.ini, /etc/php.d/suhosin.ini, /etc/php.d/sysvmsg.ini, /etc/php.d/sysvsem.ini, etc/php.d/sysvshm.ini,
/etc/php.d/wddx.ini, /etc/php.d/xdebug.ini, /etc/php.d/xmlreader.ini, /etc/php.d/xmlwriter.ini,
/etc/php.d/xsl.ini, /etc/php.d/zip.ini
答案 0 :(得分:0)
如果你检查phpinfo()
的前几行,你就可以知道了
哪个php.ini被加载。(由@Raptor提供)
在你的问题中,你提到/etc/php.ini确实是加载的。
在这种情况下,您的httpd.conf可能包含如下内容:
php_value upload_max_filesize somevalue
这是一个全球价值,将适用于所有网站 我想它可能会覆盖php.ini设置。
答案 1 :(得分:0)
我在网站的根目录中使用.htaccess覆盖了php.ini中的该值。
答案 2 :(得分:0)
我也花了很多时间试图解决这个问题。事实证明,如果您使用的是php-fpm,则会发生这种情况。将会读取php.ini文件,phpinfo()会告诉您已被读取,但是最大文件大小值(以及其他一些文件)将被忽略。
我在安装Centos8时遇到了这种情况,花了我太长时间才注意到它使用的是php-fpm而不是mod_php,因此对mod_php的所有参数都将被忽略。
您的选择是安装mod_php或只是正确配置php-fpm(更好)。
答案 3 :(得分:0)
尝试在htaccess文件中进行设置。也许这可能对你们有帮助。对我有用
php_value post_max_size 30M
php_value upload_max_filesize 25M
php_value upload_max_size 25M