NGINX 环境下 DiscuzX 2.5 UCenter与应用 通信失败

目前LNMP 0.9禁用了部分危险函数: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 会造成以下三个常见问题:
1) Discuzx 的后台Ucenter 与应用通信失败,
2) 通过Socket连接SMTP无法发送邮件;
3) wordrpess的Akismet 无法工作。

解决方法:
目前最常可能用到的就是pfsockopen、fsockopen,如果将这2个函数从禁用列表里删除可以执行:
复制内容到剪贴板
代码:

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 重启生效

如果想完全删掉禁用列表里的函数可以执行:

代码:
sed -i ‘s/disable_functions =.*/disable_functions =/g’ /usr/local/php/etc/php.ini
再执行:/etc/init.d/php-fpm restart 重启生效。

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Captcha Code