|
部分用户升级lnmp0.9后发现不能发邮件了,提示连接不到stmp,翻了很久,终于找到了原因,原来是lnmp0.9开始,PHP禁用了pfsockopen与fsockopen函数,导致php不能发送邮件。
类似的情况还有Discuz!无法安装,到第三步提示,如图:
fsockopen() 不支持 该函数需要 php.ini 中 allow_url_fopen 选项开启。请联系空间商,确定开启了此项功能
pfsockopen() 不支持 该函数需要 php.ini 中 allow_url_fopen 选项开启。请联系空间商,确定开启了此项功能
解决办法
- vi /usr/local/php/etc/php.ini
复制代码
查找到disable_funtion后边的:pfsockopen与fsockopen函数,并且删除掉。
然后重启lnmp
这样就解决了。
延伸阅读:
Windows系统的IIS有的时候也会遇到类似问题。这种情况,直接到C:\Windows目录找到PHP.ini,同样删除上述两个删除的禁用,即可解决。
带来的问题:
这样操作后,一旦程序有问题的话,会导致PHP-DOS的漏洞,导致服务器对外UDP攻击,尤其是DEDE等程序,经常暴这种漏洞。
所以顺利安装完毕后建议关闭该功能。
参考:
PHP-UDP-DOS漏洞的解决与防范DDOS(叫停fsockopen)
http://bbs.taohost.net/thread-954-1-1.html
|
|