我有一个我无法访问的PC上托管的网站.我有一个上传表单,允许人们上传最大30MB的mp3文件.我的服务器端脚本是用PHP完成的.
每次我尝试上传文件时,都会收到一条错误,声称该文件超出了允许的最大大小,因此我需要增加大小.我在网上的研究建议更改.htaccess
我无法访问的文件,这样就行不通了.其他人建议我应该php.ini
在我的root上添加一个自定义文件,这个文件不起作用.还有其他建议吗?
mea*_*gar 846
您需要设置的值upload_max_filesize
,并post_max_size
在你的php.ini:
; Maximum allowed size for uploaded files.
upload_max_filesize = 40M
; Must be greater than or equal to upload_max_filesize
post_max_size = 40M
Run Code Online (Sandbox Code Playgroud)
修改php.ini文件后,需要重新启动HTTP服务器才能使用新配置.
如果你不能改变你的php.ini,那你就不走运了.您无法在运行时更改这些值; 上传大于php.ini中指定值的文件将在执行到达您的调用时失败ini_set
.
请参阅核心php.ini指令的说明.
And*_*ore 143
您可以通过.htaccess
文件进行更改.
.htaccess
文件存储在与.php
文件相同的目录中.他们修改该文件夹和所有子文件夹的配置.您只需.htaccess
在您选择的目录中创建一个文件(或修改它,如果存在)即可使用它们.
以下内容可以使您增加上传限制(如果服务器提供程序允许通过PHP配置更改.htaccess
).
php_value upload_max_filesize 40M
php_value post_max_size 42M
Run Code Online (Sandbox Code Playgroud)
小智 57
我有同样的问题,我创建了一个.user.ini文件,并将其放在上载脚本所在的目录中.比在该文件中我设置这两个值:
upload_max_filesize = 40M
post_max_size = 40M
Run Code Online (Sandbox Code Playgroud)
它对我很有用!
Man*_*jar 51
您还可以使用ini_set函数(仅适用于5.3以下的PHP版本):
ini_set('post_max_size', '64M');
ini_set('upload_max_filesize', '64M');
Run Code Online (Sandbox Code Playgroud)
就像@acme所说,在php 5.3及以上版本中,这个设置是PHP_INI_PERDIR指令,所以不能使用ini_set设置它们.您可以改用user.ini.
sea*_*han 46
要找到ini文件,请先运行
php -i | grep -i "loaded configuration file"
Run Code Online (Sandbox Code Playgroud)
然后打开文件并进行更改
upload_max_filesize = 2M
post_max_size = 2M
Run Code Online (Sandbox Code Playgroud)
用你想要的尺寸替换2M,例如100M.
我有一篇关于更多信息的博客文章http://www.seanbehan.com/how-to-increase-or-change-the-file-upload-size-in-the-php-ini-文件换WordPress的
Eya*_*rra 39
我过去有同样的问题..我通过.htaccess
文件修复它
当您通过php configration进行更改时,.htaccess
您应将配置放在
IfModule
标记中,否则将出现内部服务器错误.
这是一个例子,它适用于我:
<IfModule mod_php5.c>
php_value upload_max_filesize 40M
php_value post_max_size 40M
</IfModule>
Run Code Online (Sandbox Code Playgroud)
如果你想了解更多,这是php referance. http://php.net/manual/en/configuration.changes.php
Pea*_*rce 15
我通过创建.user.ini
在PHP文件脚本所在的目录中调用的文件来解决此问题(这意味着此目录中的任何PHP脚本都会获得新的文件大小限制)
内容如下.user.ini
:
upload_max_filesize = 40M
post_max_size = 40M
Run Code Online (Sandbox Code Playgroud)
也许这应该是对@seanb123 和@Fredrick Gauss 的评论,但对于我在带有 PHP 7 的 Drupal 8.1 中,我需要修改的文件位于此处:
/etc/php/7.0/apache2/php.ini
Run Code Online (Sandbox Code Playgroud)
我修改了其他四个 php.ini 文件,包括我的系统称为“加载的配置文件”( php -i | grep -i "loaded configuration file"
) 的文件和在 info.php 页面上找到的文件,但没有一个有帮助。发现正确路径的关键是在 2012 年的一个站点上找到的。他们说"/etc/php5/apache2/php.ini"
即使在 BACK THEN 上该路径也已被弃用,但它给了我在哪里找到它的线索。对于 PHP7,它与 PHP5 略有不同,但概念是相同的。
也许这会帮助一些像我这样无助的笨蛋。
话虽如此,在我的情况下,对 OP 的回答是,对盒子具有管理员权限的人必须这样做。
帮助我的网站:http : //www.evilbox.ro/linux/remove-ispconfig-maximum-upload-size-of-2m-for-wordpress/
这也在这里解决:在 PHPMyAdmin 中导入文件大小限制
编辑:我给自己的笔记全文:
为了更改最大上传大小,请编辑 /etc/php/7.0/apache2/php.ini 中的 upload_max_filesize 和 [如果需要?] post_max_size (或在旧版本中: /etc/php5/apache2/php.ini )
/etc/init.d/apache2重启
再次编辑:由于您正在导入大文件,因此您可能需要更改处理它们的超时时间。例如,在我的例子中,名为“config.default.php”的文件/usr/share/phpmyadmin/libraries/config.default.php
与$cfg['ExecTimeLimit'] = 300;
我将我的变量更改为 900的变量一起被发现,例如。之后你需要重新启动apache
我有同样的问题。我尝试了通常建议的三种方法:
没有一个解决了我的问题。我正在使用Godaddy,并遇到了一个建议的解决方案,它是:
瞧!现在您有了不同的最大上传文件大小:)
好吧,我想在这里加上我的 2 美分。
我正在使用共享虚拟主机,我多次解决这个问题,试图自己解决但无济于事。最后,我通过检查各种网络资源并联系我的托管服务提供商设法解决了这个问题。我的问题是“我怎样才能改变PHP价值memory_limit
共享虚拟主机?”,“我怎样才能改变PHP价值upload_max_filesize
共享虚拟主机?”,“我怎样才能改变PHP价值max_input_vars
共享虚拟主机?”,“我怎样才能改变PHP的值max_execution_time
在共享虚拟主机?”,“如何更改max_input_time
共享虚拟主机中的php 值?” 以及更多通过配置或更改 php.ini 或.htaccess
文件。我试图改变它们,但问题出现了。最后我联系了我的托管服务提供商,结果我将 php 设置为 native,他们将其更改为 php 5.6,
“您的 PHP 设置为‘本机’模式,这意味着您无法覆盖这些值。我已将您更改为‘5.6’,因此您应该可以开始使用了。”
之后我通过 ftp Filezilla 连接了我的网站,也不要忘记让你的 ftp 服务显示隐藏文件,并且你的本地计算机这样做,因为.htaccess
文件隐藏在我的本地笔记本电脑和我的网站中。它在 public_html 文件夹中可用,我刚刚下载了它并将以下代码添加到文件末尾,然后将其上传回服务器:
php_value memory_limit 256M
php_value post_max_size 256M
php_value upload_max_filesize 64M
php_value max_input_vars 1800
php_value max_execution_time 300
php_value max_input_time 300
Run Code Online (Sandbox Code Playgroud)
目前一切正常,如果你们中的任何人克服了一些问题,请写在这里并警告我,以便我可以更改上面显示的代码。顺便说一下,我还上传了一些显示变化的图片。
还有一件事我差点忘了在你的共享虚拟主机服务上提到 ZipArchive 安装,我通过我的 cpanel 进入 php 设置,点击 php 选择器扩展,然后勾选 zip 部分,就完成了这个要求。
谢谢。
PS:我对好的做法持开放态度,如果您在这里看到任何不好的做法,请告诉我,我会尝试更改它们。谢谢。
很多次,我注意到共享主机托管的网站不允许更改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);
Run Code Online (Sandbox Code Playgroud)
答案有点不完整,您必须做三件事
在您的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
Run Code Online (Sandbox Code Playgroud)
或设置其他值。如果已安装apache,请重新启动/重新加载apache;如果使用nginx,请为nginx 重新启动php-fpm。