我的PHP脚本位于$ PATH变量的文件夹中。脚本的第一行如下:
#!/usr/bin/php
当我通过提供脚本路径(例如)
在bash中执行此脚本时$ ./mattPWDtrim
$ bin/scripts/mattPWDtrim
或者使用PHP CLI程序执行它:
$ php mattPWDtrim
$ php bin/mattPWDtrim
$ php -f mattPWDtrim
脚本以预期输出正常运行。 如果我执行以下操作,它也可以正常运行:
$ `which mattPWDtrim`
但是,如果我尝试在没有PHP CLI程序的情况下运行脚本,并且没有指定脚本的路径,那么脚本就不会运行。
有谁知道为什么?
编辑:这是失败的调用:
$ mattPWD_truncate
如果我与脚本位于同一文件夹中,或者系统中的任何其他位置,则无关紧要。
答案 0 :(得分:1)
PHP shell脚本仍然必须有<?php
才能启用“PHP模式”。 e.g。
#!/usr/bin/php
echo 'foo'
输出为echo 'foo'
v.s。
#!/usr/bin/php
<?php
echo 'foo'
输出为foo
请记住,没有“PHP脚本”这样的东西。只有文件中包含<?php ... ?>
个PHP代码块。如果没有<?php
来启用PHP模式,文件的内容将被简单地视为普通输出。
答案 1 :(得分:0)
我刚读过这条评论:
我建议使用“#!/ usr / bin / env php”而不是硬编码 php的路径,因为这允许php二进制文件在任何地方 用户的路径。
在此页面上:http://blog.digitalstruct.com/2007/04/24/tips-and-tricks-php-shell-scripts/
也许这会解决您的问题。