Парсинг. Прото для php класса

В настоящее время я пытаюсь разобрать файл .proto в php. Я пытался использовать DrSlump’s Protobuf Parser
но либо мои знания слишком малы, либо в моем общем хостинге Godaddy чего-то не хватает. Я попробовал все со своими знаниями без успеха, чтобы получить то, что я хочу.

Итак, мой вопрос, есть ли пошаговое руководство о том, как заставить это работать?

У меня есть протокол с SSH, а также установлен

pear channel-discover pear.pollinimini.net
pear install drslump/Protobuf-beta

Текущий номер:

root@v0071:~/Root/var/www/xxx.com/web/test# protoc-gen-php
Protobuf-PHP 0.9.4 by Ivan -DrSlump- Montes

Error: You must provide at least 1 argument.

Type "/usr/bin/protoc-gen-php --help" to get help.
root@v0071:~/Root/var/www/xxx.com/web/test# php protoc-gen-php.php LandData.proto
Protobuf-PHP @package_version@ by Ivan -DrSlump- Montes

/var/www/clients/client1/web10/web/test/LandData.proto:
File does not reside within any path specified using --proto_path (or -I).
You must specify a --proto_path which encompasses this file.
Note that the proto_path must be an exact prefix of
the .proto file names --protoc is too dumb to figure out when two
paths (e.g. absolute and relative) are equivalent
(it's harder than you think).

ERROR: protoc exited with an error (1) when executed with:
protoc \--plugin=protoc-gen-php='/var/www/clients/client1/
web10/web/test/protoc-gen-php.php' \

--proto_path='/var/www/clients/client1/web10/web/test/
library/DrSlump/Protobuf/Compiler/protos' \--php_out=':./' \
'/var/www/clients/client1/web10/web/test/LandData.proto'

1

Решение

Хотя вопрос старый, я подумал ответить, и, возможно, кто-то найдет его полезным.

Сначала я бы порекомендовал вам использовать официальную библиотеку из Protobuf GitHub хранилище.

Итак, я понимаю, что вы пытаетесь сгенерировать предложения PHP из файла прото. Для этого вы должны сначала установить компилятор протокола буфера (protoc). В конце ссылки вы можете найти релизы.

Самый простой способ установки protoc с помощью двоичных файлов, а затем вы можете скомпилировать файл, как только вы в "/protobufBinaries/bin" и вы найдете protoc там.

Теперь, когда у вас есть протокол, вы можете запустить: ./protoc --php_out=/var/www/html/generated_files /var/www/html/proto/example.proto --proto_path=/var/www/html/proto

ПРИМЕЧАНИЕ. Не забудьте указать —proto_path, иначе это приведет к ошибке. Вам нужно указать тот же путь, но не обязательно включать файл. You must specify a --proto_path which encompasses this file.

В моем случае классы были созданы в /var/www/html/generated_files,

Удачи

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]