我研究了如何通过调用composer
来运行php脚本,而不手动发布php
,我试图自己这样做,但它不起作用。我知道以前可能有人问过这个问题,但我想不出一个问题来找到它。
我有我的文件
#!/usr/bin/php
<?php
echo 'teststring' . PHP_EOL;
当我在文件所在的目录中发出test
时,我什么也得不到,但是如果我执行php test
,那么我得到"teststring"回显。问题是-我如何设置它,以便我可以直接执行文件?
我已经赋予x
对文件的权限。
下面是一个示例输出:
x@y:~/www/html/dev/Project$ ls
...
-rwxrwxr-x 1 www-data www-data 53 сеп 22 12:34 test
...
x@y:~/www/html/dev/Project$ test
x@y:~/www/html/dev/Project$ php test
teststring
x@y:~/www/html/dev/Project$ which php
/usr/bin/php
x@y:~/www/html/dev/Project$
您应该尝试使用which
而不是whereis
来定位php可执行文件
$ which php
…这个命令只搜索可执行文件,而whereis
试图猜测有用的链接,您可以在这里阅读更多(https://superuser.com/questions/40301/which-whereis-differences)
然后像这样运行
$ ./teststring
你可以在这里阅读更多关于执行shell脚本的信息
thegeekstuff
tldp.org