wordpress插件Akismet因fsockopen禁用的解决方法

作者:VPSAA技术部 发布时间:July 31, 2013 分类:教程

接上一篇,由于垃圾用户发包导致的一系列问题,fsockopen函数目前已禁用。

但是,使用wordpress的客户在启用插件Akismet时,会遇到提示:您的主机似乎禁用了 PHP 的 fsockopen 或 gethostbynamel 函数。在此问题修复之前,Akismet 无法工作。

解决的办法是修改插件源码中的fsockopen为pfsockopen

解决方法一,直接将Akismet中admin.php和akismet.php源码中的fsockopen换成pfsockopen

解决方法二,直接修改admin.php中的源码


1 //180行

2 if ( !function_exists('fsockopen') || !function_exists('gethostbynamel') ) {

3 //换成

4 if ( (!function_exists('fsockopen') || !function_exists('gethostbynamel')) && !function_exists('wp_remote_post') ) {

5  

6 //751行

7 if ( !function_exists('fsockopen') || !function_exists('gethostbynamel') )

8 //换成

9 if ( (!function_exists('fsockopen') || !function_exists('gethostbynamel')) && !function_exists('wp_remote_post') )

推荐使用第二种方法。

标签: fsockopen, Akismet

已有 2 条评论 »

  1. 请问现在禁用fsockopen函数,emlog的Sendmail发信应该如何设置呢?选择SMTP方式,提示SMTP Error: Could not connect to SMTP host. SMTP Error: Could not connect to SMTP host.选择Mail方式,则会暴露目前所用主机商,目前在vpsaa安家,懒得发支持票,在这里问问你...

    1. @追梦的风筝
      您可使用SMTP方式发信,如果遇到什么问题,您可提交服务单给技术部门,我们将可判定您的用户账户和所使用的节点来查找原因。

添加新评论 »