Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP包含路径,特别是始终位于根文档_Php_Ini_Include Path - Fatal编程技术网

PHP包含路径,特别是始终位于根文档

PHP包含路径,特别是始终位于根文档,php,ini,include-path,Php,Ini,Include Path,我对include路径以及它们是如何写入的理解很模糊,我知道如何在ini文件中设置它们,以及如何在功能上执行set\u include\u path只是不知道如何使每次都准确无误 因此,我有一个管理自动加载文件,它包含在我所有的头文件中,用于注册spl\u autoload\u register函数。我只是在我的错误日志文件中不断出现错误。上面说 PHP Fatal error: Class 'Configurate' not found in /home/~username~/public

我对include路径以及它们是如何写入的理解很模糊,我知道如何在
ini
文件中设置它们,以及如何在功能上执行
set\u include\u path
只是不知道如何使每次都准确无误

因此,我有一个管理自动加载文件,它包含在我所有的头文件中,用于注册
spl\u autoload\u register
函数。我只是在我的
错误日志
文件中不断出现错误。上面说

PHP Fatal error:  Class 'Configurate' not found in 
/home/~username~/public_html/testing_ini.php on line 5
因此,我要寻找的是如何将include路径设置为始终位于
public\u html
目录之前的目录,无论我在哪里

我已尝试将include路径设置为

.:/opt/alt/php5/usr/share/pear:/opt/alt/php5/usr/share/phphome/~username~/classes/Configurate.php
但我仍然得到了错误。有什么帮助和提示来理解这整件事吗?我在
相对路径上吮吸

根据要求的
spl\u自动加载\u寄存器
功能

<?php
$ini = parse_ini_file("configurations.ini",true);
foreach($ini as $section) {
    foreach($section as $key=>$value )  {
        define("__".strtoupper($key)."__",$value);
    }
}

//if(__USERNAME__ == null) {
//  header("Location: /setup.php?step=1");
//  exit();
//}
spl_autoload_register(function($class) {
    try {
        if(!file_exists("../classes/{$class}.php")){
            throw new Exception("/classes/{$class}.php does not exist error on line ". __LINE__." in file ". realpath(__FILE__));
        } else
            require_once "../classes/{$class}.php";
    } catch (Exception $ex) {
        echo $ex->getMessage()."<br>";
        echo $ex->getCode();
    }
});
getcwd()
和许多其他方法对我不起作用。虽然我发现这个方法在任何目录下都非常适合我

set_include_path(
                  dirname( $_SERVER["DOCUMENT_ROOT"] )
                );

希望这能帮助其他人走出文档根目录并像我一样使用它。

你能展示你的
spl\u autoload\u register
功能吗?选中此选项,在包含文件时不应该使用相对路径。始终使用绝对路径。试试这个:
getcwd()/classes/{$class}.php'
谢谢伙计们,我现在就去电脑旁边看看,打电话就行了。@Darren那不起作用了,我现在还在
…/public\u html/classes/Configurate.php中,这不是我想要的