PHP-使用$_SERVER[';DOCUMENT_ROOT';]是否有任何问题";路径名”;在每个


PHP - Is there any concern with using $_SERVER['DOCUMENT_ROOT'] . "pathname" on every page that needs to include another file?

由于路径问题,我更改了我的php站点,使每页至少有一次以下语句:

include($_SERVER['DOCUMENT_ROOT'] . "/path/file.php");

使用这种方法,我是否应该有任何顾虑(主要是安全问题)?

(在我刚刚使用之前:include("/path/file.php");

由于PHP只在服务器上解析,因此使用$_SERVER['DOCUMENT_ROOT']永远不会传递给客户端,也不会产生安全问题。

但是,与所有$_SERVER变量一样,$_SERVER['DOCUMENT_ROOT']仅由Web服务器提供,在命令行环境中运行这些脚本将导致未定义的错误。

我从来没有听说过在使用它时有任何问题,但我更喜欢这样做:

require_once __DIR__ . "/path/to/file/from/current/filephp";

我这样做是因为我们并不总是知道是否会有文档根,但我们知道当前文件确实有当前目录。