PHP共享主机解释$_SERVER['DOCUMENT_ROOT']


PHP shared hosting interpretation of $_SERVER['DOCUMENT_ROOT']

我一直在使用PHP脚本对文件进行自动版本控制,在其中,它使用$_SERVER['DOCUMENT_ROOT']来获取文件的路径。

大多数情况下都是有效的,但是每隔一段时间,服务器(共享主机)似乎会误解路径。

应该总是:/home/username/public_html

但有时会显示为:/usr/local/apache/htdocs,然后出现错误。

这是脚本中使用它的行:

$ver = '.'.filemtime($_SERVER['DOCUMENT_ROOT'].$url).'.';

是否有另一种方法来获得网站根而不是服务器在上面的行?就像在域名或子域名的顶部,就像RewriteBase将被定义的地方?

欢迎输入

只要默认情况下doc_root不改变,在脚本中显式引用它就可以解决问题:

  $ver = '.'.filemtime('/home/username/public_html/'.$url).'.';

您应该始终有权访问该目录,因为共享主机结构通常不会更改(除非他们想要失去客户!)。让他们知道这件事正在发生,也问问为什么。