【问题标题】:Extension gRPC loaded on server but extension_loaded('grpc') returns false when run in PHP扩展 gRPC 在服务器上加载但 extension_loaded('grpc') 在 PHP 中运行时返回 false
【发布时间】:2020-01-21 07:27:00
【问题描述】:

我正在尝试使用 Firestore PHP,而 Google Cloud 需要 gRPC。我已经在系统上正确安装了它。

为了检查,我从 CLI 运行以下命令:

sudo php -r "echo extension_loaded('grpc') ? 'Yes' : 'No';"

返回“Yes”,表示 GRPC 已加载。

但是,我复制了相同的代码并将其放入 index.php 文件中:

<?php

    echo extension_loaded('grpc') ? 'Yes' : 'No';

?>

然后运行文件,它返回“No”。

我已确保服务器上的所有 php.ini 以及我的 web 文件夹的根文件夹中的 php.ini 都具有以下内容:

extension = grpc.so
extension = protobuf.so

我不知道什么时候出错了。我应该怎么做才能让index.php 加载 Google Cloud PHP 所需的 gRPC?

【问题讨论】:

  • 你检查过你的 CLI 和你的网络服务器的 php.ini 吗?您是否检查过“网络文件夹”中的附加 php.ini 是否已加载?更改配置后是否重新启动了网络服务器?而且,毕竟,为什么这个问题被标记为composer-php 而这看起来与我完全无关?
  • 您能否确认您已完成安装 gRPC for PHP 的所有步骤? -cloud.google.com/php/grpc。此外,您要在哪里运行代码? (App Engine flex、Cloud Run 等)
  • @NicoHaase:是的。我什至采取了额外的步骤,在服务器中搜索所有 php.ini 并将扩展名添加到所有这些中。没有任何效果。
  • @AndreiTigau:我已按照给出的说明进行操作。我正在尝试在我的 VPS Centos 7 上运行它。
  • 我不确定您的应用程序结构如何,但是,您的 apache 子文件夹中可能也应该有一个 php.ini。您是否也在该文件中添加了正确的扩展名? - stackoverflow.com/questions/53859867/…

标签: php apache google-cloud-firestore


【解决方案1】:

重启fpm服务也解决了

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-31
    • 1970-01-01
    • 2019-06-16
    • 2021-06-01
    • 1970-01-01
    相关资源
    最近更新 更多