GRPC php установлен, включен в ini и работает в терминале, но phpinfo не отображается включенным

# #php #firebase #grpc

Вопрос:

Работает на macOS Monterey

Я установил GRPC в соответствии с: https://cloud.google.com/php/grpc

При запуске php --ini загруженный файл конфигурации отображается как:

 /usr/local/etc/php/7.4/php.ini
 

И когда я запускаю следующее в терминале, я получаю yes :

 sudo php -r "echo extension_loaded('grpc') ? 'yes' : 'no';"
 

Поэтому я знаю, что он загружен, но когда я использую Firebase, я получаю обычную ошибку

Запрошенному клиенту требуется расширение gRPC. Пожалуйста, посмотрите https://cloud.google.com/php/grpc для получения инструкций по установке.

Таким образом, очевидная проблема заключается в том, что я обновил неправильный ini-файл, поэтому я вывожу phpinfo(); , но он отображает файл конфигурации, соответствующий приведенному выше:

 /usr/local/etc/php/7.4/php.ini
 

И прямо в верхней части этого файла у меня есть extension="grpc.so"

Я пробовал valet restart и не могу понять, почему он не принимает установку GRPC.

Ответ №1:

Если php был установлен с homebrew, вам, возможно, потребуется перезапустить службу php вручную, так как valet, похоже, этого не делает.

 brew services restart php@7.4
 

Комментарии:

1. Это связано с различием между CLI SAPI и SAPI используемого сервера. В CLI SAPI отображаются настройки INI, измененные непосредственно во время перезагрузки сервера (или перезагрузки в зависимости от настроек, перезагрузка всего компьютера также решает эту проблему).