尽管#!/usr/bin/env php 我需要用 php 调用该文件,为什么?

尽管#!/usr/bin/env php 我需要用 php 调用该文件,为什么?

我正在尝试调用 phing 的 shell 包装器

phing

...但它无法识别环境,我得到了一个

-bash: phing: command not found

...即使文件以以下内容开头:

#!/usr/bin/env php

使用以下方式调用文件

php phing

工作正常。

该文件是可执行的,我从其自己的目录中调用它。

这怎么可能?

答案1

  1. 它是不可执行的。
    chmod +x phing
  2. 它不在你的 中$PATH。调用没有绝对或相对路径的二进制文件会告诉您的 shell 在您的 中查找它$PATH并运行它找到的第一个。运行which phing以检查您的 shell 是否可以找到它。
  3. 使用绝对路径或相对路径运行二进制文件。
    ./phing(与 在同一目录中phing
    /path/to/phing

相关内容