我在wordpress中上传大文件时遇到问题。我只能上传最多40mb的文件。 这是我的htaccess文件的样子
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 year"
</IfModule>
## EXPIRES CACHING ##
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript
</IfModule>
php_value memory_limit 300M
php_value post_max_size 300M
php_value upload_max_filesize 300M
我的php.ini:
upload_max_filesize= 300M
post_max_size= 300M
max_execution_time=3200 memory_limit = 300M
date.timezone=Europe/Sofia
memory=250M
expose_php=on
display_errors=on
allow_url_fopen=on
output_buffering=off
max_input_time=3600
session.gs_maxlifetime=3600
max_input_vars=1000
memory_limit=256M
extension=mysqli.so
extension=openssl.so
我在wp-config文件中设置了内存限制: 定义(&#39; WP_MEMORY_LIMIT&#39;,&#39; 300M&#39;);
这不是服务器主机问题。他们向我保证,问题不在其中。 我的问题是......我做错了什么?为什么我无法上传大于40 MB的文件。
答案 0 :(得分:1)
数量这可能是一个问题。以下是一些可以帮助您的信息。
首先,您需要确保编辑正确的php.ini
文件。根据设置的不同,系统中通常会有多个php.ini文件由特定vhost的控制面板放置在系统上,有时在文档根目录中会覆盖系统版本。如果它也不能通过.htaccess工作。其他东西可能会覆盖它。
您可以使用
验证设置是否生效<?php
phpinfo();
?>
upload_max_filesize
和post_max_size
是需要通过php.ini
更新的两个参数。
如果您使用的是PHP-FPM
,那么还有一些可以放入的conf文件,它将从中读取。 PHP的所有更改都需要重启php-fpm。
有些系统使用suhosin
,因此它将有一个需要更新的参数。
suhosin.post.max_value_length
Apache也有Directive
名为LimitRequestBody
。这种问题更为罕见,但是一些主机和RHEL系统将此设置得很低。如果它太低,您将无法上传大文件,需要在php.conf
文件中调整此设置。
http://httpd.apache.org/docs/current/mod/core.html#limitrequestbody
e.g。 LimitRequestBody 102400
它以字节为单位
此外,如果您使用快速cgi mod_fcgid
除了php.ini参数之外,它也有上传限制,这看起来像这样。
<IfModule mod_fcgid.c>
FcgidMaxRequestLen 26214400
FcgidConnectTimeout 60
</IfModule>
在此示例中,它设置为25MB和60 Timeout。
仅供参考:我已经看到这些示例中的每个人都会在某个时间点导致上传问题。
即使你通常不需要,重启apache也不会伤害到确保事情有效。