PHP 文件包含错误


PHP file inclusion error

我正在尝试创建一个类似于wordpress的config.php文件。我的代码确实创建了文件,但我一直面临文件包含的问题。我有一个文件定义.php在管理目录内的包含目录中。但是,当我在我的设置配置中包含文件定义.php.php(在管理目录中(时,我收到以下错误

Notice: Constant SS_ADMIN_BASEDIR already defined in
C:'xampp'htdocs'cmsproject'ab_admin'defines.php on line 2
Notice: Constant SS_ADMIN_INCLUDES already defined in
C:'xampp'htdocs'cmsproject'ab_admin'defines.php on line 3
Notice: Constant SS_ADMIN_IMAGES already defined in
C:'xampp'htdocs'cmsproject'ab_admin'defines.php on line 4
Notice: Constant SS_ADMIN_CSS already defined in
C:'xampp'htdocs'cmsproject'ab_admin'defines.php on line 5
Notice: Constant SS_ADMIN_JAVASCRIPT already defined in
C:'xampp'htdocs'cmsproject'ab_admin'defines.php on line 6

我在包含目录中定义.php文件如下:

<?php
     define('SS_ADMIN_BASEDIR',dirname(dirname(__FILE__)).'''');
     define('SS_ADMIN_INCLUDES','includes''');
     define('SS_ADMIN_IMAGES','images''');
     define('SS_ADMIN_CSS','css''');
     define('SS_ADMIN_JAVASCRIPT','javascript''');
?>

我的设置配置的一部分.php如下:

<?php
     require_once('includes/defines.php');
     require_once(SS_ADMIN_BASEDIR . SS_ADMIN_INCLUDES . 'functions.php');
     define('SS_ROOT_DIR',dirname(dirname(__FILE__)).'/');
     //more code goes here, not related to the question
?>

我在根目录(index.php(中所做的是检测配置.php文件并重定向到setup-config.php文件索引.php如下:

<?php
     //First and foremost what we do is check if the config.php exists or not
     $fileName = dirname(__FILE__).'/config.php';
     if(!file_exists($fileName) or is_dir($fileName))
     header('Location:ab_admin/setup_config.php');
     else
     echo "Load the template";
?>

到目前为止,我知道当使用require或include在脚本中多次包含文件时,会显示此错误。但是我在这里用过require_once,但仍然有问题。xampp 的版本会影响这一点吗?我使用的是 xampp 1.7.3,这段代码工作正常,但我升级到 xampp 1.8.3,现在事情搞砸了。任何帮助将不胜感激。提前谢谢。

首先检查是否定义! 但这是一种解决方法。
最佳做法是永远不需要重新定义某些东西。

defined('SS_ADMIN_BASEDIR') or define('SS_ADMIN_BASEDIR', dirname(dirname(__FILE__)).'''');