Heim  >  Fragen und Antworten  >  Hauptteil

Codeigniter-Befehlszeilenfehler – Schwerwiegender PHP-Fehler: Klasse „CI_Controller“ nicht gefunden

Nachdem ich den Anweisungen im Benutzerhandbuch gefolgt bin, kann ich das Testskript nicht über die Befehlszeile ausführen.

Mein Controller befindet sich unter /var/www/mysite/application/controllers/

class Tools extends CI_Controller {

    public function message($to = 'World')
    {
        echo "Hello {$to}!".PHP_EOL;
    }
}

In einem Browser, auf den ich zugreifen kann

http://mysite/tools/message/ben

Diese Funktion gibt „Hallo Ben“ korrekt aus

Vom Terminal aus sollte ich Folgendes ausführen können:

$ php index.php Tool-Nachricht „Ben“

Mein Terminal sollte Folgendes drucken: „Hallo Ben“

Allerdings erhalte ich die folgende Fehlermeldung:

Schwerwiegender PHP-Fehler: Klasse „CI_Controller“ nicht in /var/www/mysite/system/core/CodeIgniter.php in Zeile 233 gefunden

Mein Server ist Standard-Ubuntu-LAMP. Codeigniter ist ebenfalls Standard und ich habe kein Problem damit, Nicht-CI-Skripte über die Befehlszeile auszuführen.

Mein PHP ist nur in /usr/bin/php <-- installiert. Dieser Artikel weist auf das Problem hin, CI direkt von usr/bin/php auszuführen. Ich verwende jedoch keinen gemeinsam genutzten PHP-Dienst und verstehe nicht, wie das funktioniert beeinflussen PHP Wie die Ausführung von CI-Skripten einen Unterschied macht.

Vielen Dank für Ihre Hilfe im Voraus.

P粉916553895P粉916553895397 Tage vor734

Antworte allen(2)Ich werde antworten

  • P粉099985373

    P粉0999853732023-09-19 17:02:32

    要解决错误“找不到类'CI_Controller'”,请尝试转到Application -> Config -> database.php,然后检查数据库详细信息,例如hostnameusernamepassworddatabase

    Antwort
    1
  • P粉262073176

    P粉2620731762023-09-19 15:50:03

    已解决!(部分)问题是CodeIgniters错误日志记录。

    在application/config/config.php中,我修改了以下配置属性:

    $config['log_threshold'] = 0;

    这将禁用日志记录,并允许$ php index.php执行。

    如果有人能解释为什么CI只在CLI PHP上显示此错误-可能会帮助其他遇到此问题并需要通过错误日志记录解决的人。

    Antwort
    0
  • StornierenAntwort