LNMP禁用函数scandir、exec、fsocket、fsockopen导致系列问题

LNMP 0.9 开始,禁用了部分危险函数,导致 DiscuzX 通信失败,通过Socket连接SMTP无法发送邮件,wordpress Akismet 无法工作,wordpress主题不显示等系列问题。

LNMP 禁用的部分危险函数

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

由于禁用了pfsockopen、fsockopen 会造成DiscuzX通信失败,通过Socket连接SMTP无法发送邮件,wordpress Akismet 无法工作。

解决方法:

将这2个函数从禁用列表里删除可以执行:

# sed -i 's/,fsockopen//g' /usr/local/php/etc/php.ini
# sed -i 's/,pfsockopen//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 重启生效

wordpress 主题管理不显示其他的主题

解决方法:将scandir 函数从禁用列表里删掉就行了。

# sed -i 's/,scandir//g' /usr/local/php/etc/php.ini

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

安装好ImageMagick,在后台设置好路径,但是无法预览缩略图效果?

解决方法:将exec 函数从禁用列表里删掉就行了。

sed -i 's/,exec//g' /usr/local/php/etc/php.ini

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

phpwind里Memcache 缓存配置连接服务失败?

解决方法:参考最前面的将pfsockopen、fsockopen这2个函数从禁用函数里移除就行了。

注:LNMPA的修改方法和前面的方法一样,只不过,重启方法不一样,重新执行:/etc/init.d/httpd restart