wordpress と同様のconfig.phpファイルを作成しようとしています。私のコードはファイルを作成しますが、ファイルのインクルードに関する問題に直面しています。admin ディレクトリ内の includes ディレクトリにdefine.phpファイルがあります。しかし、ファイルdefine.phpをsetup-config.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
インクルード ディレクトリにある define.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\\');
?>
私の setup-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 のバージョンはこれに影響しますか? 私は xampp 1.7.3 を使用していましたが、このコードは正常に機能しましたが、xampp 1.8.3 にアップグレードしたところ、問題が発生しました。 どんな助けでも大歓迎です。前もって感謝します。