Selepas mengikuti arahan dalam panduan pengguna, saya tidak dapat menjalankan skrip ujian melalui baris arahan.
Pengawal saya terletak di /var/www/mysite/application/controllers/
class Tools extends CI_Controller { public function message($to = 'World') { echo "Hello {$to}!".PHP_EOL; } }
Dalam pelayar saya boleh mengakses
http://mysite/tools/message/ben
Fungsi ini mengeluarkan "Hello ben" dengan betul
Dari terminal, saya sepatutnya boleh berlari:
$ php index.php mesej alat "Ben"
Terminal saya harus mencetak: "Hello Ben"
Walau bagaimanapun, saya mendapat ralat berikut:
Ralat Maut PHP: Kelas 'CI_Controller' tidak ditemui dalam /var/www/mysite/system/core/CodeIgniter.php pada talian 233
Pelayan saya ialah LAMP ubuntu standard. Codeigniter juga menjadi standard dan saya tidak mempunyai masalah menjalankan skrip bukan CI melalui baris arahan.
PHP saya hanya dipasang dalam /usr/bin/php <-- Artikel ini membayangkan masalah menjalankan CI terus daripada usr/bin/php, namun saya tidak menggunakan perkhidmatan PHP yang dikongsi dan tidak faham bagaimana ini akan berlaku. mempengaruhi PHP Bagaimana melaksanakan skrip CI membuat perbezaan.
Terima kasih banyak atas bantuan anda terlebih dahulu.
Untuk menyelesaikan ralat "Kelas 'CI_Controller' tidak ditemui" cuba pergi ke
Application -> Config -> database.php
dan semak butiran pangkalan data seperti nama hos, nama pengguna, kata laluan dan pangkalan data.Selesai! (Sebahagian daripada) masalah ialah pengelogan ralat CodeIgniters.
Dalam application/config/config.php, saya mengubah suai sifat konfigurasi berikut:
Ini akan melumpuhkan pengelogan dan membenarkan
$ php index.php
pelaksanaan.Jika sesiapa boleh menerangkan sebab CI hanya menunjukkan ralat ini pada CLI PHP - ia mungkin membantu orang lain yang menghadapi masalah ini dan perlu menyelesaikannya melalui pengelogan ralat.