GRPC 在 ubuntu 上安装成功,但 php 正在另一个文件夹中寻找它

GRPC installed successfully on ubuntu but php is looking for it in another folder

使用 PHP 7.4 & Ubuntu 20.04 LTS

我已经按照以下步骤安装了 GRPC:

sudo apt-get install autoconf zlib1g-dev php-dev php-pear
sudo pecl install grpc

然后我将以下行添加到 clifpm

显示的文件夹中
extension=grpc.so
/etc/php/7.4/cli/php.ini
/etc/php/7.4/fpm/php.ini

然后 运行 php 我得到以下错误:

PHP Warning:  PHP Startup: Unable to load dynamic library 'grpc.so' (tried: /usr/lib/php/20190902/grpc.so (/usr/lib/php/20190902/grpc.so: cannot open shared object file: No such file or directory), /usr/lib/php/20190902/grpc.so.so (/usr/lib/php/20190902/grpc.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0

安装后pecl输出安装到这里:

/usr/lib/php/20200930/grpc.so

自作聪明,我认为我可以将文件复制到 php 期望的位置:

sudo cp /usr/lib/php/20200930/grpc.so /usr/lib/php/20190902/grpc.so

但是当你 运行 php 后你得到以下:

PHP Warning:  PHP Startup: grpc: Unable to initialize module
Module compiled with module API=20200930
PHP    compiled with module API=20190902
These options need to match

有什么想法吗?

任何人都有同样的问题

PHP警告:PHP启动:无法加载动态库'grpc.so'(试过:/usr/lib/php/20190902/grpc.so(/usr/lib/php/20190902/grpc.so:无法打开共享对象文件: 没有这样的文件或目录), /usr/lib/php/20190902/grpc.so.so (/usr/lib/php/2 0190902/grpc.so.so: 无法打开共享对象文件: 没有这样的文件或目录)) 在未知行 0

使用以下命令安装

sudo pecl -d php_suffix=8.1 install grpc

最初我有 php7.4 和 php8.1 版本。默认版本是 php8.1 并且正在尝试安装相同的版本。但出于某种原因,它安装在错误的文件夹中 (/usr/lib/php/20200930/grpc.so)。删除 php7.4 没有帮助。

特定于 php8.1 的安装解决了问题。

确保删除任何以前的版本

sudo pecl uninstall grpc