虽然之前把wp-kit-cn的性能提升了一些,但是发布超长post时依旧会出现内存溢出问题(Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 44 bytes) …
),现在实在是比较难优化了,倒是有考虑过一些控制帖子格式化的插件,这些插件起的作用就是控制是否对内容进行替换,如回车换行的替换等,但换汤不换药,32M的内存限制依旧存在。
我上网搜索了别人这方面的问题,还真不少(不小的老外为啥也要写这么长的post……),基本上是建议直接修改php.ini增加内存限制或修改httpd.conf或者直接在.htaccess中增加一句话:
php_value memory_limit 64M
这句话的目的在于直接改变php的内存占用上限为64M,我兴冲冲地修改了,然后垂头丧气地得到了一个500 server error错误……看来我的服务商并没给我这么高的权限,让我做这种可能危害到全服务器的行为。迫不得已,我直接修改了wordpress的两个源文件:/wp-admin/post-new.php和/wp-admin/post.php。在这两个文件的第一个require之后增加一句话:
ini_set('memory_limit','64m');
这起的作用是一样的,也是改变php内存上限为64M,不过这个上限只存在于这个页面的生存期内,也就是不像httpd.conf和.htaccess那样影响到全局,相对来说对服务器的影响也稍微小一些,经测试也确实可行,至少目前我发33万字的内容没太大问题(自动保存草稿还是会出错,不过那个无伤大雅),只是担心wordpress对超长文本的分页是如何进行的,害怕会出现占用内存过大的情况,我试试监控服务器的内存使用,我一般也就占用8%左右,偶尔飚到10%,先这么做吧,看看服务器的负载是否能够承受,顺便再启用几个wordpress缓存插件,降低一些对内存的需求。



33万字的文章,我晕~~
[回复]
問題是37萬字的,依然幾乎死機……唉
[回复]