У меня проблема с запуском PHP-проекта Phing с Cygwin. Это не большая проблема, потому что я могу заставить это работать, но я ищу причину или решение, чтобы сделать это по-другому.
Чтобы Phing работал с Cygwin в моей системе, я должен добавить несколько путей к переменным среды Windows 7 через панель управления.
Сначала мне пришлось добавить 4 переменных.
PHP_COMMAND = /cygdrive/e/Server/php/php.exe
PHING_HOME = E:\Server\phing
PHP_CLASSPATH = E:\Server\phing\classes
PATH : add this to the end ;E:\Server\phing\bin
Я бы предпочел добавить их в свой .bash_profile
под cygwin/home/jason/.bash_profile
Теперь я смог успешно добавить 3 из 4 элементов в свой bash_profile
PHP_COMMAND=:/cygdrive/e/Server/php/php.exe
PHP_CLASSPATH=:/cygdrive/e/Server/phing/classes
PATH=${PATH}:/cygdrive/e/Server/phing/bin
а потом мне пришлось еще добавить PHING_HOME=:E:\Server\phing
в мои настройки среды Windows
Теперь я не уверен, почему, когда я пытаюсь добавить PHING_HOME
путь к моему bash_profile
а затем запустить phing
внутри cygwin я получаю эту ошибку ...
Could not open input file: /cygdrive/e/Server/phing/bin/phing.php
Пока я держу PHING_HOME
в качестве переменной среды phing работает нормально.
Итак, кто-нибудь знает, почему эта 1 переменная должна быть в переменных среды на панели управления, а не внутри моего файла CYGWIN .bash_profile?
Это странно. Предлагаю добавить
set -x
в верхней части вашего .bash_profile. Это заставит bash распечатать список каждой следующей выполняемой команды. Посмотрев на то, что происходило прямо перед сообщением об ошибке, вы сможете понять, какую команду сбивает PHING_HOME. (После запуска оболочки вы можете снова отключить вывод отладки с помощью set +x
.)
Вы экспортируете переменные в свой .profile? В bash вы можете установить переменную в самой оболочке с помощью
VAR=value
но это будет доступно только для самой оболочки, а не для команд, которые вы запускаете из оболочки. Чтобы сделать его переменной среды, вы должны «экспортировать» его в среду.
export VAR
Вы можете объединить эти шаги вместе, если хотите:
export VAR=value