PHP 如何获取自身的启动文件?跪求!!!急!!!!!!!!!!!!!!!!

就比如我的php执行文件是/app/php/bin/php
而我的php文件是/home/test/test.php
如何通过/home/test/test.php来获取php自身执行文件的目录?
已证实php.ini和phpinfo()和系统环境变量均没有设置php的自身的启动文件位置。
跪求,急啊

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 17
leo

试试getcwd()

9年前 评论

看来你不明白我的意思,我不是要获取这个PHP文件的相对目录,我是要获取PHP的二进制文件的路径。就比如你php的环境变量指向的那个路径,但我这个环境变量没有设置

9年前 评论
leo

@ZhangYuan $_ENV['_']

9年前 评论
$> php -r "var_dump($_ENV['_']);"
array(1) {
  [0]=>
  string(1) "_"
}
$>whereis php
/app/php/bin/php

还是不行,依旧没有输出php文件的位置,我想要的是/app/php/bin/php,而且不像我这个环境变量还经过设置了

9年前 评论
leo

php -r "var_dump(getenv('_'));" 这回应该可以了

9年前 评论
$> php -r "var_dump(getenv('_'));"
bool(false)

@leo

9年前 评论
leo

再来一发 PHP_BINARY 这是一个常量

9年前 评论

@leo
谢谢,这个确实可以?
麻烦回答了

9年前 评论

@leo
但是线上环境显示却是fpm
/app/php5/sbin/php-fpm
不和php一致

9年前 评论
leo
9年前 评论

想到一个蠢的方法,手动抛出一个异常,然后try,catch下,然后就可以通过异常getTrace()获取到执行的文件。

9年前 评论

try{

    throw new \Exception("Error Processing Request", 1);

} catch ( \Exception $e) {

    $arr = $e->getTrace();

    $file = array_pop($arr);

    dd($file['file']);

}

9年前 评论

@ab0029
大兄弟,不是php文件的路径,是php二进制文件的路径,就像是win的php.exe

9年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!