以编程方式获取php的路径

时间:2011-02-09 10:20:59

标签: php apache path exec

我想做的事情与How to "fork" a video conversion process into background, in php?类似:

exec("/usr/bin/php ./foo.php > /dev/null 2>&1 &");  // executed in Apache

然而,这将在各种平台上运行:我的机器,在〜/,windows,几个prod服务器中编译php ...

有没有办法以编程方式获取“/ usr / bin / php”部分?

我能想到的事情:

  • 获取当前的pid,从中猜出可执行文件
  • 在C中,第一个参数是可执行文件的路径,也许有类似的东西

1 个答案:

答案 0 :(得分:2)

最简单的方法是简单地确保在php环境变量中找到$PATH CLI二进制文件,然后只使用php /path/to/foo.php

在UNIX上,您还可以使用/usr/bin/env php执行php中找到的第一个$PATH二进制文件。但这显然不适用于Windows。

最后一种显而易见的方法是将PHP的位置作为可配置选项,并在适当时使用用户指定的路径。