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