LNMP 0.9 SMTP无法发送邮件
前些天因为搬到朋友VPS上后,感觉少了点儿什么,但没在意。久了就发现了,怎么QQ邮箱里都没留言提醒!而后台一看却有人留言。其实原因是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 才造成SMTP无法发送邮件。只要从禁用列表中删除这两个函数就可以了,代码如下:
sed -i 's/disable_functions =.*/disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,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
大功告成,测试用HGK SMTP发信没问题~