php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Request #54514 Get php binary path during script execution
Submitted: 2011-04-12 14:11 UTC Modified: 2012-01-27 19:58 UTC
Votes:6
Avg. Score:4.5 ± 0.5
Reproduced:5 of 5 (100.0%)
Same Version:2 (40.0%)
Same OS:2 (40.0%)
From: frederic dot hardy at mageekbox dot net Assigned: laruence (profile)
Status: Closed Package: PHP options/info functions
PHP Version: Irrelevant OS:
Private report: No CVE-ID: None
 [2011-04-12 14:11 UTC] frederic dot hardy at mageekbox dot net
Description:
------------
Currently, PHP does not provide any solution to retrieve PHP binary path in userland.
There is a workaround with some *NIX shells like bash, which provide $_, available in $_SERVER['_'] in userland.
However, it's not a reliable solution (cron task, etc.), and this hack is not available on Windows.
So, a constant like PHP_BINARY (similar to PHP_VERSION and other PHP_* constants) seems to be a good solution.


Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2011-12-07 08:57 UTC] patrickallaert@php.net
PHP does provide a path to the binary directory:
PHP_BINDIR

However it is true it doesn't contain the executable itself.
 [2011-12-07 10:32 UTC] laruence@php.net
Automatic comment from SVN on behalf of laruence
Revision: http://svn.php.net/viewvc/?view=revision&revision=320567
Log: Implemented FR #54514 (Get php binary path during script execution).
 [2011-12-07 10:37 UTC] laruence@php.net
-Status: Open +Status: Closed -Assigned To: +Assigned To: laruence
 [2011-12-07 10:37 UTC] laruence@php.net
This bug has been fixed in SVN.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.

 For Windows:

http://windows.php.net/snapshots/
 
Thank you for the report, and for helping us make PHP better.

implement in 5.4,  thanks
 [2012-08-23 20:57 UTC] glen at delfi dot ee
could the test be improved not to depend that values match exactly? just the 
existence? because when the test is run from build time (from sourcetree instead 
of installed tree) the binary name is .libs/something due libtool:


========DIFF========
001+ string(62) "/home/users/glen/rpm/BUILD/x86_64-linux/php-5.4.6/sapi/cli/php"
001- done
002+ string(71) "/home/users/glen/rpm/BUILD/x86_64-linux/php-
5.4.6/sapi/cli/.libs/lt-php"
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Tue Mar 19 06:01:30 2024 UTC