【发布时间】:2020-10-22 10:43:26
【问题描述】:
我正在尝试按照官方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/ 中(如您之前所见)。但是apache试图在/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
【问题讨论】:
-
您是否尝试像您提到的链接grpc.io/docs/languages/php/quickstart/#using-pecl 中提到的那样只做
sudo pecl install grpc? -
/usr/lib/php/20180731/grpc.so似乎表明 Apache 是使用 PHP 7.3 安装的,而在您的命令行安装扩展程序/usr/lib/php/20190902/似乎表明您的 cli PHP 在 PHP 7.4 上。那里似乎存在版本不匹配。 -
@StanleyCheung 我添加了一个答案。感谢您的帮助。