$ _SERVER [' SCRIPT_FILENAME']在本地和远程服务器上返回不同的值

时间:2016-04-26 23:06:06

标签: php html

我正在使用MAMP和Coda 2建立本地开发环境 我打算在本地工作并将我的更改发布到我的远程服务器 我发现我的页面之间的相对链接不起作用,我怀疑这是因为$_SERVER['SCRIPT_FILENAME']我在回应:

<base href="<?php echo $_SERVER['SCRIPT_FILENAME']; ?> > 

返回不同的值,具体取决于我的header.html文件是在本地服务器还是远程服务器上 我注意到包含的网站文件夹包含在返回值ex:folder/page_name.php

我不确定如何解决这个问题。最终,我想要一个既能在本地又能远程工作的解决方案

2 个答案:

答案 0 :(得分:3)

$_SERVER['SCRIPT_FILENAME']是脚本的完整(本地)路径,因此它在服务器上可能不同,并且在构建URL时不是最佳值。

我认为您需要$_SERVER['SCRIPT_NAME']甚至$_SERVER['REQUEST_URI'],而不是使用该值。

答案 1 :(得分:0)

你的问题有点不清楚,但我会试一试。

$_SERVER是一个包含服务器和执行环境信息的数组。基本上,由服务器提供并在Web服务器用于执行的用户环境中定义的环境变量列表。

因此,如果变量SCRIPT_FILENAME正在播放,您可以在服务器上查看其值。

对于基于Linux的系统:https://www.digitalocean.com/community/tutorials/how-to-read-and-set-environmental-and-shell-variables-on-a-linux-vps