查阅了很多资料,对于apache中ServerRoot的解释基本都是这样的:ServerRoot用于指定守护进程httpd的运行目录,httpd在启动之后将自动将进程的当前目录改变为这个目录,因此如果设置文件中指定的文件或目录是相对路径,那么真实路径就位于这个ServerRoot定义的路径之下。
1、安装完apache后,我的apache安装目录如下d:\MyPHP\apache2.2\,查看httpd.conf文件,发现ServerRoot定义的目录为:ServerRoot "d:\MyPHP\apache2.2\",不明白的是,apache的进程文件httpd.exe是位于d:\MyPHP\apache2.2\bin\的啊?和官方的解释又不一致,ServerRoot是定义的目录具体是以什么为标准定义的?
2、同样以我安装的为例,假如我把ServerRoot的定义直接改为ServerRoot ".",那这时指定的具体目录又是哪个?
我也是初学者,配置的环境是LAMP,和你的不大一样.但我感觉官方说的和你说的没有矛盾.http的运行目录,它的安装目录这是两个概念.比如DOS下的dir指令,你可以在许多路径下运行它,但它的安装目录肯定只有一个的.进程在运行中是可以改变运行目录的,因此你在设置文件中指定的是相对路径,那就是在d:\MyPHP\apache2.2\下,而不是d:\MyPHP\apache2.2\bin\下.
对于问题3,我个人的感觉具体目录应该是d:\MyPHP\apache2.2\bin\,因为我对具体的源代码没有详细阅读,在这里猜测一下,在httpd运行后,它会根据ServerRoot,改变当前运行环境,但你指定是".",所以还是在当前目录.但这么设置可能会引发一些问题或者错误,引起服务器不能正常运行.
print_r($_SERVER);
print_r($_SERVER);
这个可以得到 Document Root
但是我想得到的是 Server Root
比如我的 httpd.conf
ServerRoot = C:/Apache
DocumentRoot= F:/Myweb
用 phpinfo() 可以看见
Configuration File (php.ini) Path C:\Apache\conf/php.ini
apache2handler
Server Root C:\Apache\
_SERVER["DOCUMENT_ROOT"] F:\Myweb
print_r($_ENV);这个可以吧
可以考虑将phpinfo的内容保存到缓冲区里然后再用正则匹配不出来。
1、安装完apache后,我的apache安装目录如下d:\MyPHP\apache2.2\,查看httpd.conf文件,发现ServerRoot定义的目录为:ServerRoot "d:\MyPHP\apache2.2\",不明白的是,apache的进程文件httpd.exe是位于d:\MyPHP\apache2.2\bin\的啊?和官方的解释又不一致,ServerRoot是定义的目录具体是以什么为标准定义的?
2、同样以我安装的为例,假如我把ServerRoot的定义直接改为ServerRoot ".",那这时指定的具体目录又是哪个?
我也是初学者,配置的环境是LAMP,和你的不大一样.但我感觉官方说的和你说的没有矛盾.http的运行目录,它的安装目录这是两个概念.比如DOS下的dir指令,你可以在许多路径下运行它,但它的安装目录肯定只有一个的.进程在运行中是可以改变运行目录的,因此你在设置文件中指定的是相对路径,那就是在d:\MyPHP\apache2.2\下,而不是d:\MyPHP\apache2.2\bin\下.
对于问题3,我个人的感觉具体目录应该是d:\MyPHP\apache2.2\bin\,因为我对具体的源代码没有详细阅读,在这里猜测一下,在httpd运行后,它会根据ServerRoot,改变当前运行环境,但你指定是".",所以还是在当前目录.但这么设置可能会引发一些问题或者错误,引起服务器不能正常运行.
print_r($_SERVER);
print_r($_SERVER);
这个可以得到 Document Root
但是我想得到的是 Server Root
比如我的 httpd.conf
ServerRoot = C:/Apache
DocumentRoot= F:/Myweb
用 phpinfo() 可以看见
Configuration File (php.ini) Path C:\Apache\conf/php.ini
apache2handler
Server Root C:\Apache\
_SERVER["DOCUMENT_ROOT"] F:\Myweb
print_r($_ENV);这个可以吧
可以考虑将phpinfo的内容保存到缓冲区里然后再用正则匹配不出来。
作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/3204/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!
评论列表