Discuz! 官方站

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 34528|回复: 2

[教程] LNMP 0.9 DiscuzX 通信失败或通过Socket连接SMTP无法发送邮件【解决方法】

[复制链接]
发表于 2012-7-25 11:19:00 | 显示全部楼层 |阅读模式
目前LNMP 0.9禁用了部分危险函数:
  1. passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket,fsockopen
复制代码
由于禁用了pfsockopen、fsockopen 会造成 Discuzx Discuz X通行失败,通过Socket连接SMTP无法发送邮件 或wordrpess的Akismet 无法工作:

您的主机似乎禁用了 PHP 的 fsockopen 或 gethostbynamel 函数。在此问题修复之前,Akismet 无法工作。请联系您的主机服务管理员或防火墙管理员,并向他们提供 Akismet 的运行环境要求。

解决方法:

目前最常可能用到的就是pfsockopen、fsockopen,如果将这2个函数从禁用列表里删除可以执行:
  1. sed -i 's/disable_functions =.*/disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket/g' /usr/local/php/etc/php.ini
复制代码

然后执行:/etc/init.d/php-fpm restart 重启生效


如果想完全删掉禁用列表里的函数可以执行:
  1. sed -i 's/disable_functions =.*/disable_functions =/g' /usr/local/php/etc/php.ini
复制代码
再执行:/etc/init.d/php-fpm restart 重启生效

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
发表于 2012-7-25 16:29:16 | 显示全部楼层
呵呵  解决方法很好,但是我这边不通用。
回复

使用道具 举报

发表于 2012-7-25 16:30:46 | 显示全部楼层
能否帮我解决一下呢?我的还是发不了邮件
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|腾讯云 ( 粤B2-20090059-165 )star

GMT+8, 2019-10-24 04:30

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表