Ubuntu 18.04的正确PHP版本中未安装GRPC扩展
我正在尝试按照官方guidance
安装GRPC扩展我遵循了所有步骤,但在最后这些步骤中,我得到了这个(我认为这一点稍后会很重要)
$ cd grpc/src/php/ext/grpc
$ phpize
$ ./configure
$ make
$ sudo make install
安装共享扩展:/usr/lib/php/20190902/
在这里,我检查了该文件夹,找到了grpc.so
文件。
php.ini
(apache2和cli)中添加了extension=grpc.so
。但它不起作用。
我尝试验证,但返回FALSE:var_dump(extension_loaded('grpc'));
=>;bool(false)
现在,我检查了apache2日志文件,看到了以下内容:
PHP警告:PHP启动:无法加载动态库‘grpc.so’ (已尝试:/usr/lib/php/20180731/grpc.so(/usr/lib/php/20180731/grpc.so: 无法打开共享对象文件:没有这样的文件或目录), /usr/lib/php/20180731/grpc.so
可能的错误?
我认为,安装GRPC扩展后,它安装在/usr/lib/php/20190902/
中(如您之前所见)。但阿帕奇正在尝试在/usr/lib/php/20180731/grpc.so
我不知道我做错了什么。我认为我编辑了正确的php.ini
文件,因为当我编辑php_info()
时,我得到的是:
Configuration File (php.ini) Path /etc/php/7.3/apache2
Loaded Configuration File /etc/php/7.3/apache2/php.ini
Scan this dir for additional .ini files /etc/php/7.3/apache2/conf.d
解决方案
我已经解决了。显然,pecl
需要在PHP version
我希望安装的位置上进行配置。是这样的,安装在我的latest
版本7.4
上。但我需要它在7.3
版本中:
# cd ./grpc
# phpize7.3
# ./configure --with-php-config=/usr/bin/php-config7.3
# make clean
# make
# make install
相关文章