在thinkphp中引入第三方库phpmailer用于发送邮件,结果发现非常慢,需要几十秒,在网上找到需要PHP开启sockets扩展库。使用php -m查看,有sockets,但是没有找到sockets.so,于是按照以下步骤添加sockets扩展库。
1.cd /home/sjdb/packages/lnmp1.1-full/php-5.3.28/ext/sockets (我用的是lnmp一键安装包)
2./usr/local/php/bin/phpize
3../configure --with-php-config=/usr/local/php/bin/php-config
4.make
5.make install
6.显示so文件路径在/usr/local/php/lib/php/extensions/no-debug-non-zts-20161026/中
7.设置/usr/local/php/etc/php.ini中的extension_dir=“/usr/local/php/lib/php/extensions/no-debug-non-zts-20161026/”,extension=sockets.so
8.重启php-fpm (service php-fpm restart) 提示错误:
PHP Warning: PHP Startup: Invalid library (maybe not a PHP library)
'sockets.so' in Unknown on line 0
9.看到国外网站上有人make clean之后再重新添加就可以了,我试了还是不行
10.然后再看到我之前添加的扩展库都在/usr/lib64/php/modules这个目录下,于是把/usr/local/php/lib/php/extensions/no-debug-non-zts-20161026/sockets.so拷贝到/usr/lib64/php/modules,同时取消掉刚才对php.ini中extension_dir和extension的设置。
11.重启php-fpm和nginx,再发送邮件,一点也不慢了。问题解决了。