Jak*_*han 5 php windows environment-variables
在Linux上$_SERVER["_"]包含PHP解释器可执行文件的路径(例如/usr/bin/php -r 'echo $_SERVER["_"];'将打印/usr/bin/php).在Windows XP中使用PHP 5.3 $_SERVER["_"]的NULL.
Art*_*cto 10
这与PHP本身无关.它是定义该环境变量的shell.PHP只是把它拿起来
例如,请看这里:
shell设置了一些默认的shell变量; PS2就是其中之一.在Korn shell中设置或使用的其他有用的shell变量是:
- _(下划线) - 当shell执行外部命令时,这将在新进程的环境中设置为执行命令的路径.在交互式使用中,此参数也在父shell中设置为上一个命令的最后一个单词.
- ...
我认为你在Windows中的最佳镜头是编写内部函数.例如
PHP_FUNCTION(get_php_path)
{
char path[MAX_PATH];
int result;
if (zend_parse_parameters_none() == FAILURE)
return;
result = GetModuleFileNameA(NULL, path, MAX_PATH);
if (result == 0)
RETURN_FALSE;
if (result == MAX_PATH) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Path is too large");
RETURN_FALSE;
}
RETURN_STRINGL(path, result, 1);
}
Run Code Online (Sandbox Code Playgroud)
例:
>php -r "echo get_php_path()"; D:\Users\Cataphract\Documents\php-trunk\Debug_TS\php.exe