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
然后我将以下行添加到 cli
和 fpm
显示的文件夹中
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
使用 PHP 7.4 & Ubuntu 20.04 LTS
我已经按照以下步骤安装了 GRPC:
sudo apt-get install autoconf zlib1g-dev php-dev php-pear
sudo pecl install grpc
然后我将以下行添加到 cli
和 fpm
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