Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
cygwin:can';t通过路径执行PHP脚本_Php_Windows_Cygwin - Fatal编程技术网

cygwin:can';t通过路径执行PHP脚本

cygwin:can';t通过路径执行PHP脚本,php,windows,cygwin,Php,Windows,Cygwin,我已经写了一个PHP脚本“toalpha”(目的与这个问题无关)。脚本位于$HOME/bin中。如果我的CWD是$HOME/bin,我可以通过键入“/toalpha”来执行它。但如果我简单地键入“toalpha”,我会收到一条消息: 无法打开输入文件:/c/barry/bin/toalpha 一些可能相关的信息: 。我最近将我的桌面从WinXP升级到Win7 。这是我第一次让自己的用户ID成为普通用户而不是管理员。(我曾尝试在XP上这样做,但遇到了问题,于是我重新使用了我的普通用户ID作为管理员

我已经写了一个PHP脚本“toalpha”(目的与这个问题无关)。脚本位于$HOME/bin中。如果我的CWD是$HOME/bin,我可以通过键入“/toalpha”来执行它。但如果我简单地键入“toalpha”,我会收到一条消息: 无法打开输入文件:/c/barry/bin/toalpha

一些可能相关的信息:

。我最近将我的桌面从WinXP升级到Win7

。这是我第一次让自己的用户ID成为普通用户而不是管理员。(我曾尝试在XP上这样做,但遇到了问题,于是我重新使用了我的普通用户ID作为管理员。不需要解决这个问题,因为我不再运行XP,而且这是我自己的错。)

。我的$HOME是/c/barry 为此,我将以下内容添加到安装cygwin时创建的.bashrc中: 挂载C:/C HOME=/c/barry 光盘 . .巴什尔

。PHP脚本的前两行是:

#!/c/xampp/php/php
<?php
#/c/xampp/php/php
bash正在传递到“C:\xampp\php\php.exe”
文件名“/c/barry/bin/toalpha”
但这是一个cygwin路径,您的PHP不会对其进行重新登录

您应该使用 cygpath

试一试
/c/xampp/php/php$(cygpath-w/c/barry/bin/toalpha)

我必须将路径名放在那里,即c:\barry\bin\toalpha而不是$(cygpath-w/c/barry/bin/toalpha)。处理#的代码!脚本希望在那里看到一个文本路径,而不是需要shell计算的构造。但是谢谢你,通过应用你的建议(经过修改),我现在有了一个可以在任何地方执行的脚本。