未遵守PHP上载\u最大\u文件大小

未遵守PHP上载\u最大\u文件大小,php,apache,.htaccess,upload,Php,Apache,.htaccess,Upload,PHP/etc/PHP.ini不遵守上传最大文件大小 详情: 使用我可以看到“加载的配置文件”是/etc/php.ini 在此文件中,我有以下值: file_uploads = On upload_max_filesize = 12M post_max_size = 12M 但是 phpinfo();显示上载\u最大\u文件大小2M 在重新启动Apache serveral次之后,无论我更改upload_max_filesize和max_post_size,都不会遵守此值 我通过使用.htac

PHP
/etc/PHP.ini
不遵守上传最大文件大小

详情: 使用
我可以看到“加载的配置文件”是/etc/php.ini

在此文件中,我有以下值:

file_uploads = On
upload_max_filesize = 12M
post_max_size = 12M
但是 phpinfo();显示上载\u最大\u文件大小2M

在重新启动Apache serveral次之后,无论我更改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 在
/etc/php.d/*
中搜索(
grep-inr'2M'*
),未找到任何内容

为什么它不监听它所使用的主php.ini文件

已经看了

就这样没有成功

--更新-- 在/etc/*.ini和.conf中搜索grep-inr'upload\u max\u filesize,只返回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

如果检查
phpinfo()
的前几行,您可以知道
加载了哪个php.ini。(由@Raptor提供)

在您的问题中,您提到/etc/php.ini确实是加载的

在这种情况下,您的httpd.conf可能包含以下内容:

php\u值上传\u max\u文件大小somevalue

这是一个全局值,将应用于所有站点。

我想它很可能会覆盖php.ini设置。

我在网站根目录中有.htaccess覆盖了php.ini中的这个值。

我也浪费了很多时间试图解决这个问题。事实证明,如果您使用的是php fpm,就会发生这种情况。将读取php.ini文件,phpinfo()将告诉您该文件已被读取,但将忽略max filesize值(以及其他一些值)

我在安装Centos8时遇到过这种情况,我花了太长时间才注意到它使用的是php fpm而不是mod_php,因此mod_php的所有参数都被忽略了


您可以选择安装mod_php或正确配置php fpm(更好)。

尝试在htaccess文件中进行设置。也许这对你们有帮助。这对我有用

php_value post_max_size 30M
php_value upload_max_filesize 25M
php_value upload_max_size 25M

phpinfo()
页面的前几行,它应该告诉您正在加载哪个
php.ini
。搜索
php.ini
@Raptor:OP说/etc/php.ini确实被使用了。我错过了line@Raptor字体无论如何谢谢你。我忽略了一个事实,即您可以查看phpinfo()结果以查看使用了哪个.ini。@Raptor:顺便问一下,是否可以同时拥有多个.ini文件。一个通用的和一个定制的,可以根据需要覆盖通用的设置。感谢sjsam,我将查看http.conf和其他包含的conf文件。我最初确实查看了(php.conf),但没有看到任何关于2MB限制的内容。。。我将更仔细地看一看ApacheSidehi sjsam,我在/etc/*.ini/etc/*.conf/etc/httpd/conf/*/etc/httpd/conf.d/*中查看过,没有提到“上传最大文件大小”…+还尝试了/etc/php.d,但没有成功……谢谢您的回复。我确实在帖子中写道,.htaccess方法是一个合适的解决方法,但它没有解释2MB从何处来的问题。。。无论如何,使用.htaccess可以找到合适的解决方法。