после обновления protolib и protoc gRPC больше не работает

Вчера мой ubuntu сделал обновление (из журнала) Grpc для PHP

Командная строка: aptdaemon role = 'role-commit-packages' sender = ': 1.567' Обновление: libprotoc-dev: amd64 (3.5.0-0 ~ maarten0 + artful, 3.5.0.1-0 ~ maarten0 + artful), libprotoc15: amd64 (3.5.0-0 ~ maarten0 + хитрый, 3.5.0.1-0 ~ maarten0 + хитрый), gnome-software-plugin-snap: amd64 (3.26.1-0ubuntu2, 3.26.1-0ubuntu2.17.10.1), gnome -программное обеспечение: amd64 (3.26.1-0ubuntu2, 3.26.1-0ubuntu2.17.10.1), google-chrome-stable: amd64 (62.0.3202.94-1, 63.0.3239.84-1), protobuf-compiler: amd64 (3.5 .0-0 ~ maarten0 + хитрый, 3.5.0.1-0 ~ maarten0 + хитрый), ubuntu-software: amd64 (3.26.1-0ubuntu2, 3.26.1-0ubuntu2.17.10.1), libprotobuf-lite15: amd64 (3.5 .0-0 ~ maarten0 + хитрый, 3.5.0.1-0 ~ maarten0 + хитрый), gnome-software-plugin-flatpak: amd64 (3.26.1-0ubuntu2, 3.26.1-0ubuntu2.17.10.1), libprotobuf15: amd64 (3.5.0-0 ~ maarten0 + хитрый, 3.5.0.1-0 ~ maarten0 + хитрый), libprotobuf-dev: amd64 (3.5.0-0 ~ maarten0 + хитрый, 3.5.0.1-0 ~ maarten0 + хитрый), gnome -программное-общее: amd64 (3.26.1-0ubuntu2, 3.26.1-0ubuntu2.17.10.1)

и при перезагрузке я не могу сделать какой-либо запрос Grpc. У меня есть extension = grpc.so в моем файле php.ini, и тот же код работал вчера, я также попытался обновить его в своем файле композитора, а также попытался переустановить Grpc как воссоздать классы из моего прото файла. По какой-то причине это просто больше не работает.

Я всегда получаю одинаковый ответ

сообщение: "Класс 'Grpc \ ChannelCredentials' не найден"

есть идеи, как это исправить (или что пошло не так)?

РЕДАКТИРОВАТЬ: я использую докер для локального сервера - возможно ли, что теперь конфликтуют две разные версии?


person Night5talker    schedule 12.12.2017    source источник


Ответы (2)


Это действительно странно, потому что, судя по вашему журналу, только обновление protobuf с 3.5.0 до 3.5.0.1 и обновление программного обеспечения gnome. Вроде не сломают grpc. Я установил эти пакеты, а затем установил grpc-1.7.0 и protobuf-3.5.0.1 с помощью «sudo pecl install grpc (protobuf)», но они работают хорошо.

Ошибка «Класс 'Grpc \ ChannelCredentials' не найден», скорее всего, означает, что расширение grpc.so загружено неправильно. Мы должны определить, в чем проблема. Вы можете попробовать

person Zhouyihai Ding    schedule 13.12.2017
comment
также я новичок в докере, так как мой проект есть ... теперь проблема в докере или ноутбуке? так как в докере давно ничего не меняется - person Night5talker; 14.12.2017

На всякий случай, если у кого-то есть аналогичная проблема. Решение моей проблемы было внутри докера. По какой-то причине моя установка grpc была потеряна

Я исправил это, подключившись к docker bash и снова установив grpc с помощью

pecl установить grpc

и прочитал extension = grpc.so в моем файле php.ini

РЕДАКТИРОВАТЬ: такая же проблема возникает каждый раз, когда я меняю antyhing в docker-compose.yaml

person Night5talker    schedule 14.12.2017