【问题标题】:Create variable that contains working path for including files on both localhost and live server (PHP)创建包含工作路径的变量,用于在本地主机和实时服务器 (PHP) 上包含文件
【发布时间】:2022-01-25 15:27:13
【问题描述】:

我正在从事一个包含很多内容和要求的项目。我不想每次从本地主机部署到实时服务器时都更改此设置。

所以我想使用$_SERVER['DOCUMENT_ROOT'],它工作得很好,直到我检查了我的 git,它直接推送到我的实时服务器上的备份文件夹。它不在根中,而是在低一级。

此备份文件夹中使用 include 或 require 的所有文件都从我的服务器根目录 (public_html/) 而不是项目所在的当前文件夹 (public_html/backup/) 获取它们的文件。

所以这行不通。之后我尝试了getcwd();,解决了上述情况,但现在我无法在本地主机上包含文件。

所以现在我想检查一下文件当前是在我的本地电脑上还是在我的实时服务器上,如下所示:

$checkpath = getcwd();
$localcheck = 'C:\\';
 
// Test if path contains C:\
if(strpos($checkpath, $localcheck) !== false){
    $absolute_path = $_SERVER['DOCUMENT_ROOT'];
} else{
    $absolute_path = getcwd();
}

我唯一的问题是,当我的问题是包含时,如何将它包含在所有文件中?

也许有更好的方法来获得一条无论是实时还是本地路径都始终有效的路径?

【问题讨论】:

标签: php server path


【解决方案1】:

您可以使用set_include_path($absolute_path); 更改目录 include/require 的外观。然后,从技术上讲,您只需要在每个 PHP 请求中调用一次。请注意,您需要提供到 set_include_path 的实际路径。例如,您需要提供“/home/username/directory”而不是“~/directory”。

set_include_path documentation.

【讨论】:

    猜你喜欢
    • 2011-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-18
    • 2011-11-24
    相关资源
    最近更新 更多