我有一个网站托管在我无法访问的PC上。我有一个上传表单,允许人们上传最大30MB的mp3文件。我的服务器端脚本是用PHP完成的。
每次我尝试上传文件时,都会收到一个错误,声称文件超过了允许的最大大小,因此我需要增加大小。我在网络上的研究建议更改。htaccess文件,我没有访问权限,所以这将不起作用。其他人建议我添加一个自定义的php.ini文件到我的根目录,但这并不奏效。还有其他建议吗?
我有一个网站托管在我无法访问的PC上。我有一个上传表单,允许人们上传最大30MB的mp3文件。我的服务器端脚本是用PHP完成的。
每次我尝试上传文件时,都会收到一个错误,声称文件超过了允许的最大大小,因此我需要增加大小。我在网络上的研究建议更改。htaccess文件,我没有访问权限,所以这将不起作用。其他人建议我添加一个自定义的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
其他回答
我过去也遇到过同样的问题。我通过。htaccess文件修复了它
当你通过。htaccess修改php配置时,你应该把配置放进去 IfModule标签,否则内部服务器错误将产生。
这是一个例子,对我来说很管用:
<IfModule mod_php5.c>
php_value upload_max_filesize 40M
php_value post_max_size 40M
</IfModule>
如果你想了解更多,这是php参考资料。 http://php.net/manual/en/configuration.changes.php
由于全局更改有一定风险,因此我尝试为单个脚本big_file_upload.php增加最大上传值。出于某种原因,ini_set没有帮助。经过一番研究,我得出了这个结论。把它放在。htaccess(除非通过AccessFileName更改名称)
<If "%{REQUEST_URI} == '/subfolder/big_file_upload.php'" >
php_value upload_max_filesize 200M
php_value post_max_size 200M
</If>
<Else>
php_value upload_max_filesize 1M
php_value post_max_size 1M
</Else>
为我工作。
你也可以使用ini_set函数(仅适用于PHP 5.3以下版本):
ini_set('post_max_size', '64M');
ini_set('upload_max_filesize', '64M');
就像@acme说的,在php 5.3及以上的设置是PHP_INI_PERDIR指令,所以他们不能使用ini_set设置。你可以使用user.ini代替。
您可以通过.htaccess文件更改它。
.htaccess文件与你的.php文件存储在同一个目录下。它们修改该文件夹和所有子文件夹的配置。你只需在你选择的目录中创建一个.htaccess文件(如果存在的话可以修改它)就可以使用它们。
下面的代码可以提高上传限制(如果服务器提供商允许通过.htaccess修改PHP配置)。
php_value upload_max_filesize 40M
php_value post_max_size 42M
我也有同样的问题。我尝试了通常被建议的三种方法:
显然也 php . ini . htaccess
如果这能解决我的问题就没有了。我正在使用godaddy,遇到了一个建议的解决方案:
到网络主机,然后管理 在“软件”下选择“选择PHP版本” 选择切换到PHP选项在表格的右上角,字体颜色:蓝色 在最下面的部分,您可能会有upload_max_filesize = 2M 现在,请随意更改它 一定要点击保存按钮! 现在转到wp-admin面板,选择Media,然后添加
瞧!现在你有一个不同的最大上传文件大小:)