无法在Wordpress中上传大文件

时间:2015-02-02 19:38:47

标签: php wordpress .htaccess

我在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的文件。

1 个答案:

答案 0 :(得分:1)

数量这可能是一个问题。以下是一些可以帮助您的信息。

首先,您需要确保编辑正确的php.ini文件。根据设置的不同,系统中通常会有多个php.ini文件由特定vhost的控制面板放置在系统上,有时在文档根目录中会覆盖系统版本。如果它也不能通过.htaccess工作。其他东西可能会覆盖它。

您可以使用

验证设置是否生效
<?php
phpinfo();
?>

upload_max_filesizepost_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也不会伤害到确保事情有效。