|
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二进制文件的大小(按惯例)。 |
|
|
Benoît · 如何调试exec*=-1 eNote? 8 年前 |
|
|
Eugene · SQL Server:尝试使用变量语句查询时出错 8 年前 |
|
|
noel880 · Exec不会调用我的第二个程序 8 年前 |
|
|
Chem · 如何使用casperjs arvgs进行评估? 8 年前 |
|
|
Zavfel · PHP exec等待返回键 8 年前 |
|
|
Dams0622 · Tcl脚本之间的通信 8 年前 |
|
|
user936965 · php系统(“npm安装”)不工作 8 年前 |