Heim > Fragen und Antworten > Hauptteil
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粉0999853732023-09-19 17:02:32
要解决错误“找不到类'CI_Controller'”,请尝试转到Application -> Config -> database.php
,然后检查数据库详细信息,例如hostname、username、password和database。
P粉2620731762023-09-19 15:50:03
已解决!(部分)问题是CodeIgniters错误日志记录。
在application/config/config.php中,我修改了以下配置属性:
$config['log_threshold'] = 0;
这将禁用日志记录,并允许$ php index.php
执行。
如果有人能解释为什么CI只在CLI PHP上显示此错误-可能会帮助其他遇到此问题并需要通过错误日志记录解决的人。