PHP包含/要求WebRoot问题的相对路径

时间:2013-01-24 14:49:23

标签: php

我已经用多种语言编写了大量的编程,但是对于硬核PHP更新。经过大量的谷歌搜索后,我似乎找不到使用webroot的相对路径而不是来自OS的相对路径来包含/ require / require_once的良好解决方案。

我调整了PHP Ini包含路径,这是一个很好的解决方案,但问题是许多PHP IDE不会评估Include路径以便公开intellisense等的类定义...所以我发现自己必须做很多在调试/编码时临时包括。

经典的ASP和其他语言让我变得如此容易,相对路径总是相对于web根而不是php的当前文件位置的相对而php的根是文件系统的根。我已经看到了大量古怪奇怪的方法来尝试解决这个问题,但这正是它似乎总是一个解决方法。

你们中的任何人都可以帮助我度过一周,为我解决这个令人烦恼的挑战吗?

1 个答案:

答案 0 :(得分:0)

您可以随时在php.ini文件中添加以下内容:

ROOT_PATH = "/var/www/<your_directory>"

然后你可以在你的php页面中选择这个值,如:

$ROOT_PATH = ini_get("ROOT_PATH");

然后你可以包含这样的文件:

include_once($ROOT_PATH."/<path>/<filename.php>");

当然,您只需在文件中直接添加define("ROOT_PATH", "/var/www/<your_directory>");,但如果您从php.ini获取设置,则可以在不同的服务器上设置不同的设置。