Ubuntu 18.04 中的正确 PHP 版本中未安装 gRPC 扩展

我正在尝试按照官方指导安装 gRPC 扩展


我已经遵循了所有步骤,但在最后的步骤中,我得到了这个(我认为稍后会很重要)


$ cd grpc/src/php/ext/grpc

$ phpize

$ ./configure

$ make

$ sudo make install

安装共享扩展:/usr/lib/php/20190902/


在这里,我检查了该文件夹并找到了该grpc.so文件。


此时,我希望安装扩展,我已在(apache2 和 cli)extension=grpc.so中添加了该扩展。php.ini但这不起作用。


我尝试验证它,但它返回 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


幕布斯6054654
浏览 95回答 2
2回答

幕布斯7119047

我这样做是通过特定版本的 php for pecl 来实现的,并确保将 php 版本设置为 ubuntu 中的默认版本:# modules of php 7.3 (state your correct version)sudo apt install php7.3-common php7.3-mysql php7.3-xml php7.3-xmlrpc php7.3-curl php7.3-gd php7.3-imagick php7.3-cli php7.3-dev php7.3-imap php7.3-mbstring php7.3-opcache php7.3-soap php7.3-zip php7.3-intl -y# module requiresudo apt-get install php-pear phpunit# if you have previous version of grpc, uninstall itpecl uninstall grpc# install grpc base on specific versionpecl -d php_suffix=7.3 install grpc在这里查看我的文章中的详细信息,我整合了 grpc 的最相关点,这也让我烦恼了几天: https: //ask.osify.com/qa/11804

精慕HU

我已经解决了。显然需要根据我想要安装的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
打开App,查看更多内容
随时随地看视频慕课网APP