【问题标题】:Class 'Google\Protobuf\Internal\Message' not found in "Message.proto"在“Message.proto”中找不到类“Google\Protobuf\Internal\Message”
【发布时间】:2017-10-20 19:15:17
【问题描述】:

我正在使用protocol buffers 进行一个项目,在我编译了一个原型文件之后,我似乎无法包含它,也无法运行它,因为它一直给我这个确切的错误: PHP Fatal error: Class 'Google\Protobuf\Internal\Message' not found in /app/generated_files/message.php on line 13

message.php 上,我有来自.proto 文件的自动生成文件,它包括Google\Protobuf\Internal\Message

在阅读protobuf github issues 时,我发现有人遇到同样的问题,他认为这是作曲家的错。但是在我的情况下,这不是问题,因为我没有使用作曲家。

我使用 pecl 安装协议缓冲区,并且我的库 protobuf.so 位于 /etc/php5/apache2/XXXXXXXXX。我还在 php.ini 的最后一行添加了extension=protobuf.so

请记住,我对所有事情都使用 docker,因此它可能会有所不同,但我仍然怀疑。

【问题讨论】:

    标签: php docker protocol-buffers pecl protoc


    【解决方案1】:

    如果有人在这里遇到同样的问题:您只需将 Componser 自动加载器添加到您的文件 include_once './vendor/autoload.php';(根据需要更改路径)

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题,但原因对我来说不同: Git 不知何故弄乱了文件夹的大小写,导致文件路径转换错误。 一旦我修复了外壳([...]/src/Google/Protobuf 而不是供应商文件夹中的 [...]/src/google/protobuf)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-11-10
        • 2019-03-16
        • 1970-01-01
        • 1970-01-01
        • 2022-04-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多