Doctrine 2 cli — инструмент командной строки — Неожиданный символ при вводе — Генерирует объекты

#codeigniter #command-line #doctrine-orm #command-line-interface

#codeigniter #командная строка #doctrine-orm #интерфейс командной строки

Вопрос:

У меня проблема с запуском команд через doctrine-cli.php файл cli. Я использую Doctrine 2 и Codeigniter 2. Я хотел бы генерировать объекты с помощью инструмента командной строки, но безуспешно. Страница размещена Hostgator. На этом сервере по умолчанию установлена версия PHP 5.2, но вы можете использовать PHP версии 5.3, добавив некоторые команды в файл .htaccess, расположенный в корневом каталоге.

В инструменте командной строки я получаю эту ошибку:

 Warning: Unexpected character in input:  '' (ASCII=92) state=1 in /home/tig3rb0y/public_html/naselsi/application/doctrine-cli.php on line 10

Warning: Unexpected character in input:  '' (ASCII=92) state=1 in /home/tig3rb0y/public_html/naselsi/application/doctrine-cli.php on line 10

Parse error: syntax error, unexpected T_STRING in /home/tig3rb0y/public_html/naselsi/application/doctrine-cli.php on line 10
  

Если я запускаю файл с версией PHP через URL, я получаю версию PHP 5.3, но если я запускаю тот же файл через инструмент командной строки, я получаю версию php 5.2. Почему это так?

Есть ли какое-либо решение для этого?

С уважением, Марио

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

1. Это потому, что PHP-CLI и PHP под Apache2 — это совершенно разные процессы. Я думаю, что лучше всего обратиться к вашему хостинг-провайдеру, если они могут каким-то образом включить 5.3.x в командной строке.

2. @KeesSchepers Спасибо за ваш ответ. Я уже связался с ними, и они не могут включить PHP 5.3.x .. Я не знаю почему: ( Итак, для этого нет других решений?

3. к сожалению, этого нет, поскольку для работы Doctrine требуется версия 5.3.x . Я не думаю, что не так много других вариантов, потому что у вас должным образом нет доступа SSH к вашему хосту с нужными привилегиями.

4. У меня есть SSH-доступ к моему хосту .. Как я вижу, мне придется писать эти модели самостоятельно, по крайней мере, до тех пор, пока они не примут версию PHP 5.3.x в качестве версии по умолчанию.

Ответ №1:

У меня есть решение. Как уже сказал @KeesSchepers, возникла проблема с тем, что в командной строке по умолчанию была версия PHP 5.2.17. Я решил это просто, я просто добавил префикс /opt/php53/bin/php ко всем командам doctrine2, например:

/opt/php53/bin/php doctrine-cli.php orm:...

Спасибо, ребята!