读取解析豹纹的时候需要用到 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 等进程,完成。