我有一个网站托管在我无法访问的PC上。我有一个上传表单,允许人们上传最大30MB的mp3文件。我的服务器端脚本是用PHP完成的。
每次我尝试上传文件时,都会收到一个错误,声称文件超过了允许的最大大小,因此我需要增加大小。我在网络上的研究建议更改。htaccess文件,我没有访问权限,所以这将不起作用。其他人建议我添加一个自定义的php.ini文件到我的根目录,但这并不奏效。还有其他建议吗?
我有一个网站托管在我无法访问的PC上。我有一个上传表单,允许人们上传最大30MB的mp3文件。我的服务器端脚本是用PHP完成的。
每次我尝试上传文件时,都会收到一个错误,声称文件超过了允许的最大大小,因此我需要增加大小。我在网络上的研究建议更改。htaccess文件,我没有访问权限,所以这将不起作用。其他人建议我添加一个自定义的php.ini文件到我的根目录,但这并不奏效。还有其他建议吗?
当前回答
我有同样的问题,我创建了一个.user.ini文件,并把它放在上传脚本所在的目录中。然后在文件中我设置了这两个值:
upload_max_filesize = 40M
post_max_size = 40M
这对我来说非常有效!
其他回答
答案有点不完整,你必须做3件事
在你的php安装的php.ini中(注意:取决于你是想要CLI, apache,还是nginx,找到正确的php.ini来操作。对于nginx,它通常位于/etc/php/7.1/fpm,其中7.1取决于你的版本。对于apache通常是/etc/php/7.1/apache2)
post_max_size=500M
upload_max_filesize=500M
memory_limit=900M
或者设置其他值。如果你安装了apache,请重新启动/重新加载apache;如果你使用nginx,请使用php-fpm。
你需要检查三件事。
php.ini配置文件中的Upload_max_filesize, memory_limit和post_max_size。
所有这三个设置都限制了PHP可以提交和处理的数据的最大大小。
通常post_max_size和memory_limit需要大于upload_max_filesize。
所以你总共需要检查三个变量才能完全确定。
我也有这个问题,并通过在/etc/nginx/nginx.conf中设置这个设置来修复它
client_max_body_size 0;
0,即无限。
此外,如果你有一个反向代理运行nginx,服务器也应该有这个设置(这是我在这里抛出的)
也许这应该是对@seanb123和@Fredrick Gauss的评论,但对我来说,在使用PHP 7的Drupal 8.1中,我需要修改的文件位于这里:
/etc/php/7.0/apache2/php.ini
我修改了大约四个其他的php.ini文件,包括一个我的系统称为“加载配置文件”(php -i | grep -i“加载配置文件”)和一个在info.php页面上找到的文件,但它们都没有帮助。找到正确路径的关键是在2012年的一个遗址上发现的。他们说路径“/etc/php5/apache2/php.ini”即使在当时也被弃用了,但它给了我在哪里找到它的线索。PHP7与PHP5略有不同,但概念是相同的。
也许这能帮到像我这样无助的笨蛋。
话虽如此,在我的情况下,OP的答案是,对盒子有管理特权的人必须这么做。
帮助我的网站是:http://www.evilbox.ro/linux/remove-ispconfig-maximum-upload-size-of-2m-for-wordpress/
在PHPMyAdmin中导入文件大小限制
编辑: 我写给自己的信全文如下:
要更改最大上传大小,请编辑upload_max_filesize和 (如果需要?/etc/php/7.0/apache2/php.ini中的post_max_size 旧版本:/etc/php5/apache2/php.ini) /etc/init.d /输入重启
编辑: 由于您正在导入大文件,您可能需要更改处理它们的超时时间。在我的例子中,名为“config.default.php”的文件在/usr/share/phpmyadmin/libraries/config.default.php中找到了变量$cfg['ExecTimeLimit'] = 300; 比如,我把我的价格改成了900美元,因为我进口了一大笔商品。 之后你需要重新启动apache
在花了几个小时后,我浏览了几乎所有的帖子,但运气不好。最后用这些步骤解决了问题。这可能是一个奇怪的解决方案,但对我来说很有效。
第一步:在/etc文件夹或/文件夹下运行cmd找到php.ini文件:
grep -rl "post_max_size" | xargs ls -lrth
这里我使用post_max_size关键字来搜索/etc文件夹中的“php.ini”文件,但在某些系统中,你可以在/var/www/html或/var/www/wordpress文件夹中找到这个文件。
我们在互联网上有多个帖子,如果php.ini文件不存在于WordPress文件夹中,那么你可以创建,但在我的情况下,这行不通。
步骤2:
编辑php.ini文件并像这样更改值。
post_max_size = 100M
upload_max_filesize = 100M
在上面,您可以根据您的要求设置任何值。
步骤3:
重新启动httpd或Nginx或apache和PHP服务,或者根据设置,您可以重新启动web服务。
对我来说,httpd和php-fpm服务重启在centos 8中工作:
service httpd restart
service php-fpm restart