我正在尝试创建一个与wordpress类似的config.php文件。我的代码确实创建了文件,但是我一直面临文件包含的问题。我在管理目录中的包含目录中有一个文件defines.php。但是,当我在我的setup-config.php (管理目录)中包含defines.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包含目录中的defines.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\\');
?>我的set-config.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 )中所做的是检测config.php文件并重定向到setup-config.php文件index.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的版本会影响到这一点吗?我使用的是xampp1.7.3,这段代码运行良好,但是我升级到xampp1.8.3,现在事情变得一团糟。任何帮助都将是非常感谢的。提前谢谢。。
发布于 2013-09-28 14:00:21
首先检查是否定义!但这是个解决办法。
最好的做法是永远不需要重新定义一些东西。
defined('SS_ADMIN_BASEDIR') or define('SS_ADMIN_BASEDIR', dirname(dirname(__FILE__)).'\\');https://stackoverflow.com/questions/19067607
复制相似问题