我有一个网站托管在我无法访问的PC上。我有一个上传表单,允许人们上传最大30MB的mp3文件。我的服务器端脚本是用PHP完成的。
每次我尝试上传文件时,都会收到一个错误,声称文件超过了允许的最大大小,因此我需要增加大小。我在网络上的研究建议更改。htaccess文件,我没有访问权限,所以这将不起作用。其他人建议我添加一个自定义的php.ini文件到我的根目录,但这并不奏效。还有其他建议吗?
我有一个网站托管在我无法访问的PC上。我有一个上传表单,允许人们上传最大30MB的mp3文件。我的服务器端脚本是用PHP完成的。
每次我尝试上传文件时,都会收到一个错误,声称文件超过了允许的最大大小,因此我需要增加大小。我在网络上的研究建议更改。htaccess文件,我没有访问权限,所以这将不起作用。其他人建议我添加一个自定义的php.ini文件到我的根目录,但这并不奏效。还有其他建议吗?
当前回答
很多次我都注意到共享主机的站点不允许更改php.ini文件中的设置。甚至根本不能创建.htaaccess文件。在这种情况下,人们可以尝试以下事情
ini_set('upload_max_filesize', '10M');
ini_set('post_max_size', '10M');
ini_set('max_input_time', 300);
ini_set('max_execution_time', 300);
其他回答
这些解决方案都不适合我!!(默认设置为32M)。问题在大多数情况下是max_allowed_packet
我在本地主机和使用MAMP工作。
这是解决方案;
1. 如果你没有我的。ini
Add
--max_allowed_packet=168435456
To
...\MAMP\bin\startMysql.sh
2. 如果你有my。ini
下
[mysqld]
Add
max_allowed_packet=100M
完成了!
有了WAMP,一切都很简单
WAMP图标> PHP > PHP设置> upload_max_filesize = nM > n = (2M, 4M, 8M, 16M, 32M, 64M, 128M, 256M, 512M,或选择(自定义))。
服务自动重新加载。
但是,如果您确实没有访问服务器的权限,您可能想要尝试编写一个分块API。
下面是如何做到这一点的图片。
你需要在php.ini中设置upload_max_filesize和post_max_size的值:
; Maximum allowed size for uploaded files.
upload_max_filesize = 40M
; Must be greater than or equal to upload_max_filesize
post_max_size = 40M
修改php.ini文件后,需要重新启动HTTP服务器才能使用新的配置。
如果您不能更改php.ini,那么您就不走运了。您不能在运行时更改这些值;如果上传的文件大于php.ini中指定的值,那么在执行到调用ini_set时将会失败。
请参阅核心php.ini指令的描述。
我知道这个问题有很多答案,但在php.ini中,大多数变量只用于更改最大上传文件大小
由于有时用户更新了最大文件大小,但没有更新内存限制,导致中断导入过程。
因此,我在这里列出了所有需要更改的相关变量以及最大文件大小
max_execution_time memory_limit display_errors post_max_size upload_max_filesize max_input_time
注意:从现在开始,ini存储在这样的文件夹中 /etc/php/8.1/apache2/php.ini
也许这应该是对@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