PHP可执行文件未运行


php executable file not running

我研究了如何通过调用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