Codeigniter-Befehlszeilenfehler – Schwerwiegender PHP-Fehler: Klasse „CI_Controller' nicht gefunden
P粉916553895
P粉916553895 2023-09-18 22:52:11
0
2
768

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粉916553895
P粉916553895

Antworte allen(2)
P粉099985373

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

P粉262073176

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

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

$config['log_threshold'] = 0;

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

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

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage