如何为php配置xampp以包含文件

时间:2011-11-08 02:06:22

标签: php xampp include-path

我正在尝试在php中包含文件,但每次都会给我这个错误:

Warning: include_once(authorizationUtils.php) [function.include-once]: failed to open stream: No such file or directory in C:\xampp\htdocs\pspace\includes\header.php on line 13

Warning: include_once() [function.include]: Failed opening 'authorizationUtils.php' for inclusion (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\pspace\includes\header.php on line 13

Fatal error: Class 'AuthorizationUtils' not found in C:\xampp\htdocs\pspace\includes\header.php on line 15

无法在线查找资源。我是否应该以任何方式配置我的xampp,或者做什么,不确定。

1 个答案:

答案 0 :(得分:2)

我的猜测是header.php本身包含在另一个文件中。

PHP默认包含路径中的.仅指被调用脚本。将其描绘为包含树顶部的那个。此文件定义相对包含的包含路径根。

如果要包含相对于执行包含的文件的文件,请使用其中一个可用的魔术常量指定绝对路径。

例如,

// PHP >= 5.3
include_once __DIR__ . '/../classes/authorizationUtils.php';

// PHP < 5.3
include_once dirname(__FILE__) . '/../classes/authorizationUtils.php';

更好的解决方案是明确指定应用程序的包含路径。假设您有某种全局包含的文件(config.php / bootstrap.php /无论如何)......

define('APPLICATION_PATH', __DIR__);
// this is just an example, assuming this file exists at
// C:/xampp/htdocs/pspace/

set_include_path(implode(PATH_SEPARATOR, array(
    APPLICATION_PATH . '/includes',
    APPLICATION_PATH . '/classes',
    // enable the below line if you actually need the default include path, eg for PEAR
    // get_include_path()
)));

然后,从任何其他文件(假设它包括上面的引导)

include_once 'authorizationUtils.php';