Hallo zusammen,
und zwar beschreibe ich zunächst mal den Stand, wie ich ihn im Moment habe. Danach komme ich auf mein Problem zu sprechen.
Ich habe mir eine eigene Instanz von CWebApplication erzeugt und wie folgt alles gespeichert:
- index.php
<?php
// Umleitung auf die passende Domain, aber nur, wenn es keine lokaler Seiten-
// aufruf ist.
if ($_SERVER['SERVER_NAME'] != 'localhost')
{
$domain = 'www.internationale-giuseppe-verdi-stiftung.org';
if (strtolower($_SERVER['SERVER_NAME']) != $domain)
{
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://" . $domain . $_SERVER['REQUEST_URI']);
}
}
// -----------------------------------------------------------------------------
// remove the following line when in production mode
//defined('YII_DEBUG') or define('YII_DEBUG',true);
// Diese Zeile entkommentieren, um den Wartungsmodus zu aktivieren
//define('MAINTAINING_SYSTEM', true);
// -----------------------------------------------------------------------------
// Prüfen, ob der Wartungsmodus aktiv ist
if (defined('MAINTAINING_SYSTEM'))
{
// WArtungsmodus anzeigen
require('maintenance.php');
}
else
{
// change the following paths if necessary
$yii = dirname(__FILE__).'/protected/yii.php';
$config = dirname(__FILE__).'/protected/config/main.php';
require_once($yii);
Yii::createWebApplication($config)->run();
}
?>
- protected\MyWebApplication.php
<?php
class MyWebApplication extends CWebApplication
{
/**
* Konstruktor.
**/
public function __construct($config=null) {
parent::__construct($config);
}
/**
* Diese Methode stellt fest, ob der User einen Internet Explorer 6.0 oder
* kleiner verwendet.
**/
public function isIE6OrSmaller()
{
if( eregi("(msie) ([0-9]{1,2}.[0-9]{1,3})", $_SERVER['HTTP_USER_AGENT'], $regs) )
{
// Es ist ein IE; Prüfung, ob die Version kleiner als 7 ist, denn
// dann muss die Funktion true zurück liefern
return ($regs[2] < 7);
}
else
{
// Es ist ein anderer Browser als der IE
return false;
}
}
}
?>
- protected\MyYiiBase.php
<?php
require('./yii/YiiBase.php');
require('./protected/MyWebApplication.php');
class MyYiiBase extends YiiBase
{
/**
* Die Standardmethode zum Erzeugen der Web-Application überschreiben,
* sodass keine CWebApplication erzeugt wird, sondern MyWebApplication.
**/
public static function createWebApplication($config=null)
{
return new MyWebApplication($config);
}
}
?>
Nun wollte ich die Yii-Shell starten, sodass ich einige Controller und Models automatisch anlegen kann. Hier das Ergebnis:
D:\xampp\htdocs\project>protected\yiic shell
Fatal error: Cannot redeclare class YiiBase in D:\xampp\htdocs\project\yii\
YiiBase.php on line 53
D:\xampp\htdocs\project>
Ich habe keinerlei Ahnung, wie der Fehler zustande kommt. Mir ist klar, dass PHP diesen Fehler wirft und dieser nicht direkt aus Yii kommt. Kennt jemand von euch diesen Fehler?