PHP Shebang不工作
注:此问题已解决。这是一个复制品PHP Shebang不工作,php,shell,shebang,Php,Shell,Shebang,注:此问题已解决。这是一个复制品 这就是我所拥有的: #!/usr/bin/env php <?php echo "starting"; 但我只收到错误消息:“没有这样的文件或目录” 使用 php /var/projects/user-backup.php 结果字符串“开始…”按预期显示 即使我试着 /usr/bin/env php /var/projects/user-backup.php 一切正常,字符串“starting…”按预期显示 我哪里做错了 编辑1: 像这样使用sh
这就是我所拥有的:
#!/usr/bin/env php
<?php
echo "starting";
但我只收到错误消息:“没有这样的文件或目录”
使用
php /var/projects/user-backup.php
结果字符串“开始…”按预期显示
即使我试着
/usr/bin/env php /var/projects/user-backup.php
一切正常,字符串“starting…”按预期显示
我哪里做错了
编辑1:
像这样使用shebang:
#!/usr/bin/php
导致错误消息“^M:错误的解释器:没有这样的文件或目录”
虽然肯定有一个/usr/bin/php(/usr/bin/php->/etc/alternations/php和/etc/alternations/php->/usr/bin/php5)把
/usr/bin/php
放进文件/etc/shell
这是行尾!!虽然我使用“nano”在putty窗口中编辑文件,但我仍然得到了窗口的行结尾
在使用“dos2unix”转换所有行尾之后,事情就解决了
比较以下问题的答案:
我想我已经知道了(多亏了@EDIT1(来自问题)):
关于行尾(EOLNs)的几句话:
- Win:“\r\n”(“\x0D\x0A”,CR+LF)
- 尼克斯:“\n”(“\x0A”,CR)
dos2unix/var/projects/user-backup.php
看起来不错。如果在命令行上运行/usr/bin/env php
会发生什么情况?/usr/bin/env php/var/projects/user-backup.php工作得很好尝试过,仍然没有运气…这感觉像是一个荒谬的答案,但我无论如何都尝试过,它解决了我的问题。谢谢。@AngelS.Moreno:为什么这感觉很荒谬?它发现并解决了问题。对不起,我的意思是解决方案看起来很奇怪,而不是答案。
#!/usr/bin/php