PHP-CLI和PHP通过Apache Web服务器的系统路径变量的不同内容?如何修复?

PHP-CLI和PHP通过Apache Web服务器的系统路径变量的不同内容?如何修复?,php,windows,apache,path,zend-server-ce,Php,Windows,Apache,Path,Zend Server Ce,我对Windows系统%PATH%变量有点困惑。当我同时使用php cli和apache提供的网页运行以下脚本时,我得到了path变量的不同输出 // different output for php-cli and php executed by apache webserver <?php system('echo %PATH%'); ?> Bit原始系统的路径要长得多。我现在的问题是,系统的路径限制在哪里,或者在哪里可以找到web执行的php脚本的系统路径设置?尝试使用以下选

我对Windows系统%PATH%变量有点困惑。当我同时使用php cli和apache提供的网页运行以下脚本时,我得到了path变量的不同输出

// different output for php-cli and php executed by apache webserver
<?php
system('echo %PATH%');
?>

Bit原始系统的路径要长得多。我现在的问题是,系统的路径限制在哪里,或者在哪里可以找到web执行的php脚本的系统路径设置?

尝试使用以下选项

echo getenv('PATH')

在Windows中,环境变量是每个进程的变量;它们(通常)是从父进程继承而来的,顶部进程将
PATH
设置为系统范围内的路径加上每个用户的路径。因此,如果在用户帐户下运行CLI版本的PHP,则该路径将包含用户定义的路径,而在服务帐户下运行的Apache进程将只获得系统范围的路径


您可以在系统属性(控制面板\系统和维护\系统)、高级、环境变量中设置系统范围的路径。或者,我相信您可以在Apache中设置环境变量,例如使用
mod_env
和指令。

请参见
C:\Path\To\Zend\ZendServer\ZendEnablerConf.xml


定义了一个path变量。

很抱歉,这并不能解决我的问题,但对于shell脚本来说,最好是转储系统的路径。
echo getenv('PATH')