#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:...
Спасибо, ребята!