php
PHPからのバイナリパスを取得するにはどうすればよいですか?
phpinfo()で見ましたが、Linux および Windows システムでそれを取得する別の方法が必要です。
以下を使用できます。
$_SERVER['_']
また、定義済みの定数PHP_BINDIR
は、PHP 実行可能ファイルが存在するディレクトリを示します。
セキュリティ上の理由から、$_SERVER
値は公開されていないようです。
"which" コマンドを使用して検索しますphp
。
$phpPath = exec("which php");
これはphp
、Web サーバーが使用している可能性のある同じ実行可能ファイルを保証するものではなく、パスを調べたときに最初に見つかったインスタンスを保証するものではないことに注意してください。
php
実行可能ファイルがシステム パスにあると仮定して、環境変数を使用する方法。
function getPHPExecutableFromPath() {
$paths = explode(PATH_SEPARATOR, getenv('PATH'));
foreach ($paths as $path) {
// We need this for XAMPP (Windows)
if (strstr($path, 'php.exe') && isset($_SERVER["WINDIR"]) && file_exists($path) && is_file($path)) {
return $path;
}
else {
$php_executable = $path . DIRECTORY_SEPARATOR . "php" . (isset($_SERVER["WINDIR"]) ? ".exe" : "");
if (file_exists($php_executable) && is_file($php_executable)) {
return $php_executable;
}
}
}
return FALSE; // Not found
}
Windows では、WAMPを使用して、PHP フォルダーに配置されているini変数 - extension_dir -を使用できます。
このような:
echo str_replace('ext/', 'php.exe', ini_get('extension_dir'));