|
1
0
是的,在您的shell中执行以下php命令以获取php二进制文件的绝对路径名:
然后在exec()调用中使用该路径名:
然后它已经以这种方式工作了。 讨论和参考如评论中所述,这取决于环境( environ(7) ) 当仅通过basename(filename)指定命令时 PATH 正在搜索二进制文件的真实路径名。 由于您有不同的环境,一个在交互式shell中,另一个在exec()调用(在PHP-FPM子级或Web服务器中运行)中运行的shell中,使用绝对路径名会阻止任何PATH解析,因此独立于此和其他环境参数工作( PWD 是另一个)。
现在
您必须首先在shell中获得它,因为您想使用PHP-CLI版本(参见PHP CLI SAPI, Using PHP from the command line ). 这样做比我在早期评论中建议的要好,因为它不需要调用另一个命令,尤其是调用 命令 这是一个简单的PHP。 当然,您已经可以在shell中解析以显示任何命令的绝对路径名(如果找不到命令,则显示错误):
它在当前环境中表现出来,它对它的依赖可以通过清空它来证明:
PHP_BINARY是空字符串(“”),如果在PHP启动时无法获得它。通常它是一个绝对路径名 realpath 当前正在执行的PHP二进制文件的大小(按惯例)。 |