Tom*_*Tom 10 php configuration documentroot apache-2.2
在不同的服务器环境中,PHP $_SERVER['DOCUMENT_ROOT']
super global 有时尾部有斜线,有时没有。我原以为这个问题与文件中ApacheDocumentRoot
的定义方式直接相关httpd.conf
:
即我会认为如果不httpd.conf
包含尾部斜杠:
<VirtualHost *:8880>
DocumentRoot /var/www/live/current
...
Run Code Online (Sandbox Code Playgroud)
然后echo $_SERVER['DOCUMENT_ROOT']
应该给/var/www/live/current
如果httpd.conf
确实包含尾部斜杠:
<VirtualHost *:8880>
DocumentRoot /var/www/live/current/
...
Run Code Online (Sandbox Code Playgroud)
然后echo $_SERVER['DOCUMENT_ROOT']
应该给/var/www/live/current/
在 Ubuntu 10.04 上就是这种情况,但在 RHEL 5.5 上,$_SERVER['DOCUMENT_ROOT']
即使在 Apache 上没有定义任何斜杠,也会添加尾部斜杠。
知道为什么会这样吗?是否有我遗漏的配置参数?
以供参考:
我不知道为什么您的虚拟主机之间的斜线会发生变化。顺便说一句,重要吗?只需在您的程序中添加一个新斜杠(如果存在双斜杠,请删除),问题就解决了。
我用
$realpath = realpath ($_SERVER['DOCUMENT_ROOT']."/");
$realpath = str_replace ("//", "/", $realpath);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8497 次 |
最近记录: |