Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP最大文件上载配置问题_Php - Fatal编程技术网

PHP最大文件上载配置问题

PHP最大文件上载配置问题,php,Php,我遇到了一些关于php.ini post_max_size和upload_max_filesize如何工作的令人困惑的问题。阅读php.net文档,我知道通过设置post_max_size=16M和upload_max_filesize=16M,我们可以上传最大16MB的文件。但我看到的不是。我正在使用以下命令检查加载的.ini值 $max_upload = (int)(ini_get('upload_max_filesize')); $max_post = (int)(ini_get('pos

我遇到了一些关于php.ini post_max_size和upload_max_filesize如何工作的令人困惑的问题。阅读php.net文档,我知道通过设置post_max_size=16M和upload_max_filesize=16M,我们可以上传最大16MB的文件。但我看到的不是。我正在使用以下命令检查加载的.ini值

$max_upload = (int)(ini_get('upload_max_filesize'));
$max_post = (int)(ini_get('post_max_size'));
$memory_limit = (int)(ini_get('memory_limit'));
$upload_mb = min($max_upload, $max_post, $memory_limit);

echo $max_upload;
echo $max_post;
echo $memory_limit;
echo $upload_mb;
输出:

2
8
96
2
该值与我在此php.ini中指定的值不同

下面是我的php.ini配置:

通过检查phpinfo()的输出,我已经确保这个配置是php解释器加载的配置


谢谢

您确定要更改正确的php.ini吗?请查看Apache config for php ini目录,或者更改另一个php.ini

在ApacheConfig中为setPHPINI目录搜索类似的内容

 PHPINIDir "c:/php" 
另一个问题可能是在htaccess中设置此参数,如果在run中设置参数覆盖


注意:htaccess有时设置在父目录中

我已经找到了解决我自己问题的方法。
 PHPINIDir "c:/php" 
通过更彻底地检查/etc/php5/fpm/php.ini,我发现:

error_reporting = E_ALL error_reporting = E_ALL & ~E_DEPRECATED ~E_DEPRECATED
通过将该值固定到

error_reporting = E_ALL & ~E_DEPRECATED
解决了这个问题。 我之所以在第一个位置有这些嵌套的值,是因为我在第一个位置使用sed来修改值,而我忘记了转义“&”字符。(&表示插入子字符串,因此它将在此之前插入字符串)。将其转义到“\&”后,sed命令按预期工作


干杯

整个web主机可能有php_admin_值(如果您使用它),它会覆盖可能在用户脚本或.htaccess文件中设置的任何值。您是否重新启动或重新加载web服务器以获取新的php配置?是的,我有。。我真的很困惑。如果有人感兴趣,我可以上传我的虚拟机。它是Virtualbox VDI ImagePHPINFO()为这些值输出了什么?另外,您是否使用一个简单的.php文件来测试这个问题?如果您使用的是框架,那么它可能会通过调用
ini\u set
覆盖您的值。是的,我确信这是正确加载的php.ini。从phpinof()输出:
加载的配置文件/etc/php5/fpm/php.ini
这是我在上面的问题中上传的php.ini配置是的,你是对的,检查Apache,Apache可以设置php_值我正在使用Nginx,而不是Apacheok没有问题检查Nginx配置web服务器可以设置php_值