读取解析豹纹的时候需要用到php的socket模块,今天在本地测试没事,放到linux生产服务器发现提示
Call to undefined function App\Utils\Masterkey\socket_create()
in D:\qzone-app\lib\SnsStat.php on line 35
原因: php没有安装php_socket扩展
下个相同版本的php源码,进行编译安装,再按照上面步骤搞,生成的so。copy到rpm装的那个,修改php.ini进行扩展就行了,
或者到网上找相同版本,相同系统 的编译好的so文件。
在linux下给PHP安装socket扩展,参考方法如下:
#cd /usr/soft/php/ext/sockets (进入原php安装文件下的sockets目录)
#/usr/local/php/bin/phpize (运行安装后的php安装文件下的phpize)
#./configure --prefix=/usr/local/php/lib --with-php-config=/user/local/php/bin/php-config --enable-sockets
#make
#make install
再修改/usr/local/php/etc/php.ini文件
#extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/" (php5.4版本以上不用加扩展路径)
extension=sockets.so
(若不想修改extension_dir路径或改路径下还有别的.so文件,亦可直接写:
extension=/usr/local/PHP/lib/php/extensions/no-debug-non-zts-20090626/sockets.so)
重启apache或者nginx等进程,完成。