我正在尝试在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,或者做什么,不确定。
答案 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';