最新版的 WordPress 内建强大的流媒体影音平台,但值得注意的是 WordPress 却设置了文件的最大上传体积,导致诸多影音资料无法顺利上传。如果你想直到自己站点的文件上传体积限制,你可以点击 “Media”—“Add New”,在上传提示栏的旁边你可以看到“上传文件的体积限制”,一个以MB作为单位的数字。
默认情况,这个数字将会在2MB和128MB之间,如果你有大容量的文件需要上传,很显然这将限制你的使用。
不幸的是,没有一种简单的方法增加最高上传文件体积限制,这取决于你服务器的设置,而本篇文章就将一步一步的告诉你如何设置来达到上述愿望。
以下大多数的步骤要求你能够进入你站点的 FTP 服务,而如果你不太熟悉 FTP 的工作原理,那么我建议你先浏览以下 Kevin Muldoon 的 guide to installing WordPress. 它会告诉你如何快捷的使用 FTP。
准备:创建一个 PHP 信息文件
在你尝试各种解决方案之前,很有必要了解以下你服务器中关于 PHP 的一些细节设置,幸运的是,PHP 有一个简单的功能可以帮助你实现上述目的。
打开文本编辑器,并在输入如下代码:
<!--?php phpinfo(); ?-->
关闭保存并将其命名为“inof.php“,然后通过 FTP 上传到你服务器的 WordPress 程序所在的安装目录,然后打开浏览器,访问“http://yoursite.com/info.php”,其中将“yoursite.com” 替换成自己博客的实际地址。
如果一切正常,浏览器返回的将是对你服务器上 PHP 设置的详尽描述。

返回的信息量很大,大部分的你可以直接忽略掉,你所需要关注的是服务器上运行的 PHP 版本号,通常这个会显示在抬头用粗体字予以显示,例如上图所示的“PHP Version 5.4.16”,而最关键的就是版本号的第一个数字,如果你服务器上运行的 PHP 版本有可能是 4 或5,我们在进行下一步骤之前了解清楚这一点是非常关键的。
另外还有三项设置是有关于上传文件体积限制的,你可以观察这三项目前是如何设置的。
- memory_limit – 它定义了 PHP 所分配到的内存空间,你只需要简单的确认这个数字比你所期望的上传限制更高就可以了;
- post_max_size – 它规定了 POST 请求处理的最大文件体积,我们需要将这个设置成为新的上传体积限制;
- upload_max_filesize – 它规定了上传文件最大体积,这个也将设置成为最新的上传体积限制;
现在我们已经对 PHP 设置有了初步认识后,我们将通过下面诸多方法来增加上传体积限制。
一、编辑 PHP.ini 文件
当你百度各种增加 WordPress 上传限制的方法时,会收到各种各样的回答,但最佳的方法无疑是修改服务器的 php.ini 文件设置,php.ini 文件包含了所有的 PHP 设置,你可以通过修改此文件达到自己的目的。
你也许可以直接修改 php.ini 文件,当然这要取决于你的主机服务商。通过 FTP 登录你的站点,进到你的 WordPress 安装目录,它通常在 “html”或者“www”目录之下,而你所需要做的是进到系统的根目录下,通常位于 WordPress 安装目录之上的一到两级目录。
在你服务器的根目录下,你要开始寻找 php.ini 文件所在,通常在“conf”或“etc”目录之下,搜索这些目录直到找到名为“php.ini”的文件,如果你没办法找到,你可以联系你的主机服务商来寻求帮助。
将此文件保存在本地硬盘上,用文本编辑器打开,我们需要改变一些文件中设定的值,假设我们需要将上传限制增加到 64 MB。(你也可以将这个数值调的更高,但不建议超过 128MB)

首先找到“memory_limit”一栏,将其改成 64M,然后找到“post_max_size”然后也将其改成 64M,最后,找到“upload_max_filesize”,同样将其改成64M。
值得注意的是,这里我们用“M”来定义文件体积单位 megabytes,而不是通常我们所使用的“MB”。
我们还可以将“max_execution_time”这个字段设置为“300”,这将保证我们在往服务器上传大体积文件时不会出现无响应的情况,最后设置完成后应该是这样的:
memory_limit = 64M upload_max_filesize = 64M post_max_size = 64M max_execution_time = 300
设置完成,保存文件,上传到服务器中并替换原有文件,然后重启服务,清空浏览器缓存,然后你再进入 WordPress 访问“Media”-“Add New”的时候你就会看到你所期望的上传体积限制了。
二、上传自己编写的 PHP.ini 文件
如果你没办法找到你的 php.ini 文件,或者你的主机不给你权限进入根目录下,你也可以自己创建 php.ini 文件然后覆盖掉原有设置。
所以我们先创建一个新文件,然后用文件编辑器打开,将如下的代码粘贴上去:
memory_limit = 64M upload_max_filesize = 64M post_max_size = 64M file_uploads = On max_execution_time = 300
同样的,我们设置为64M,但你也可以修改为任意你所需要的。
还记得刚刚我们查看的 PHP 版本么?如果你看到的是 PHP 版本4,那么你需要将这个文件保存为“php.ini”,如果你是 php 5,那么就需要将其保存为“php5.ini”了,如果你确实运行的是 PHP5 ,然后按照上述方法处理却无济于事,那么你可以保存为“php.ini”再试试。

然后,再次通过 FTP 进入系统,找到 WordPress 所在的安装目录,将这个文件覆盖上去。
设置完成,保存文件,上传到服务器中并替换原有文件,然后重启服务,清空浏览器缓存,然后你再进入 WordPress 访问“Media”-“Add New”的时候你就会看到你所期望的上传体积限制了。
三、使用 .user.ini
如果上述方法仍然不起作用,你还有一种选择,但这只对使用 PHP5 的用户奏效,如果不是,就请直接跳过本章。
创建一个新文件,将其命名为“.user.ini”,然后粘贴下面内容进去:
upload_max_filesize = 64M post_max_size = 64M memory_limit = 64M max_execution_time = 300
你可以将 64M 改成其他你所期望的上传限制,然后通过 FTP 将其上传到你的 WordPress 安装目录,然后重启服务,清空浏览器缓存,然后你再进入 WordPress 访问“Media”-“Add New”的时候你就会看到你所期望的上传体积限制了。
四、尝试使用 .htaccess
如果尝试了 php.ini 的各种方法,但无疑奏效的时候,也许解决方法的金钥匙就在你的 htaccess 文件里,htaccess 被用来设设置 Apache 服务器,然后,它也可以被用来改变 PHP 设置,如果你的 PHP 版本被设置为 Apache 模式。
我们进入你的 WordPress 安装目录,确保你的 FTP 客户端软件能够显示隐藏文件,然后打开一个名为“.htaccess”的文件来编辑,在文件内容的底部,添加如下代码:
php_value upload_max_filesize 64M php_value post_max_size 64M php_value max_execution_time 300 php_value max_input_time 300
将编辑完成的文件保存到服务器内,浏览站点,看看有没有什么错误出现。然后你重启服务,清空浏览器缓存,然后你再进入 WordPress 访问“Media”-“Add New”的时候你就会看到你所期望的上传体积限制了。
如果出现错误,你只需要将事先保存到本地的 htaccess 上传替换掉就可以了。
五、修改WordPress Config File
如果上述办法全部失败,那么还有一个办法你可以尝试,这需要你直接修改 WordPress 的设置文件。
第一步先通过 FTP 连入服务器,然后将“wp-config.php”文件保存到本地,然后用文本编辑器打开,在最后一行下面增添如下代码:
define('WP_MEMORY_LIMIT', '64M');
然后将此文件回传服务器。
然后进入“wp-content”目录进入到你目前正在使用的主题目录下,将“functions.php”保存到本地硬盘上进行编辑,在文件最上部插入如下代码:
@ini_set( 'upload_max_size' , '64M' ); @ini_set( 'post_max_size', '64M'); @ini_set( 'max_execution_time', '300' );
这也许是最有效的解决办法,在一些旧版的服务器中,这个办法也许更有效率。
