我在运行一个名为Phing和Cygwin的PHP项目时遇到了问题。 这不是一个大问题,因为我可以使它工作,但我正在寻找一个理由或修复,所以我可以做不同的事情。
为了让Phing能够在我的系统上使用Cygwin,我必须通过控制面板添加一些path到Windows 7环境variables
起初我不得不添加4个variables。
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
现在我能够成功地将4个项目中的3个添加到我的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_HOMEpath添加到我的PHING_HOME ,然后在cygwin中运行phing ,然后我得到这个错误…
Could not open input file: /cygdrive/e/Server/phing/bin/phing.php
只要我保持PHING_HOME作为一个环境variables,然后phing运行良好。
所以,有没有人知道为什么这1variables必须在控制面板中的环境variables,而不是我的CYGWIN .bash_profile文件?
这是一个奇怪的。 我build议添加
set -x
在.bash_profile的顶部。 这将使bash打印出每个正在执行的命令的列表。 通过查看错误消息之前正在发生的事情,您应该能够找出哪些命令被PHING_HOME弄糊涂了。 (在shell启动之后,您可以使用set +x再次closuresdebugging输出。)
你在.profile中导出variables吗? 在bash中,你可以在shell中设置一个variables
VAR=value
但是只有shell本身才可用,而不是从shell运行的命令。 要使其成为环境variables,您必须将其“导出”到环境中
export VAR
如果你喜欢,你可以把这些步骤结合起来:
export VAR=value