我已经了解了如何通过调用 composer
来设置 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 脚本的更多信息
关于php可执行文件未运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32713080/