У меня такая проблема:
Я установил grpc и получил данный пример (https://grpc.io/docs/languages/php/quickstart/) для работы с PHP из терминала (Windows PowerShell), в котором запущен файл run_greeter_client.sh (а также тот же файл с изменениями, упомянутыми в ссылке, для отправки двух сообщений Hello World вместо одного. ). Я также добавил extension = grpc.so в файл php.ini, поэтому я могу даже запустить его с терминала, используя инструкцию php greeter_client.php. Я использую инструкцию node. \ Greeter_server.js для запуска сервера. Вместо этого, когда я пытаюсь запустить файл php из браузера, он показывает, что у меня HTTP ERROR 500, и когда я проверил журналы, я обнаружил следующее:
PHP Fatal error: Uncaught Error: Class 'Grpc\ChannelCredentials' not found
in D:\MAMP\grpc\grpc\examples\php\greeter_client.php:30
Stack trace:
#0 D:\MAMP\grpc\grpc\examples\php\greeter_client.php(50):
greet('localhost:50051', 'world')
#1 {main}
thrown in D:\MAMP\grpc\grpc\examples\php\greeter_client.php on line 30
Это кажется странным, потому что, когда я запускаю его из PowerShell (терминала) с помощью команды PHP, он работает правильно и показывает 2 сообщения Hello World, но в браузере возникает эта проблема (с использованием того же узла js-сервера из другого PowerShell). Вы хоть представляете, в чем может быть проблема?
Большое спасибо, пожалуйста, не закрывайте вопрос, если вам нужны более подробные сведения о проблеме, я могу предоставить любую информацию, которую вы спросите, просто оставьте комментарий.