我写了一个PHP脚本“toalpha”(目的与这个问题无关)。该脚本位于$ HOME / bin中。如果我的CWD是$ HOME / bin,我可以通过输入“./toalpha”来执行它。但如果我只输入“toalpha”,我会收到一条消息: 无法打开输入文件:/ c / barry / bin / toalpha
可能相关的一些信息:
。我最近将桌面从WinXP升级到Win7。
。这是我第一次让自己的userid成为普通用户而不是管理员。 (我试图在XP上做到这一点,但遇到问题并回到让我的普通用户ID成为管理员。不需要解决方案,因为我不再运行XP而且这是我自己的错。)
。我的$ HOME是/ c / barry 我通过在安装cygwin时创建的.bashrc中添加以下内容来实现: 山C:/ c HOME = / C /巴里 光盘 。 .bashrc中
。 PHP脚本的前两行是:
#!/c/xampp/php/php
<?php
。是的,我想使用的PHP副本位于C:\ xampp \ php \ php.exe
。我有另一个类似的脚本,我在WinXP上写的。它以相同的两行开头。它在XP下工作正常,但在Win7上不起作用。
我对这个问题的根源有最好的猜测:
XP和Win7之间的区别
我以某种方式弄乱了主目录更改。 IIRC,当我在XP上安装cygwin时,我做了一些技巧,所以它会直接在C:\ barry中启动,但我不记得当我在Win7上安装它时我是如何做到的,所以我采取了“简单的方法”。 / p>
答案 0 :(得分:-1)
bash传递给&#34; C:\ xampp \ php \ php.exe&#34;
文件名&#34; / c / barry / bin / toalpha&#34;
但这是一个cygwin路径,你的PHP没有对它进行认证。
你应该用一个可以理解的转换它 cygpath
尝试 / c / xampp / php / php $(cygpath -w / c / barry / bin / toalpha)