Rumah >rangka kerja php >Laravel >laravel membuka mesej ralat

laravel membuka mesej ralat

PHPz
PHPzasal
2023-05-20 16:53:08807semak imbas

Apabila anda membangunkan menggunakan Laravel, anda mungkin menghadapi beberapa mesej ralat. Mesej ralat ini mungkin membuat anda keliru, tetapi anda tidak tahu dari mana untuk bermula.

Artikel ini akan mengajar anda cara membuka gesaan ralat Laravel dan cara mencari serta menyelesaikan masalah melalui gesaan ralat.

Hidupkan gesaan ralat dalam Laravel

Secara lalai, Laravel mematikan gesaan ralat dalam persekitaran pengeluaran. Ini adalah atas sebab keselamatan untuk menghalang penyerang daripada mendapatkan maklumat sensitif melalui gesaan ralat.

Tetapi semasa proses pembangunan, anda perlu menghidupkan gesaan ralat untuk mencari dan menyelesaikan masalah tepat pada masanya.

Untuk membuka mesej ralat Laravel, anda boleh mengikuti langkah di bawah:

  1. Buka fail .env dalam direktori projek Laravel dan cari baris APP_ENV.
  2. Tukar nilai selepas APP_ENV= daripada production kepada local dan simpan fail.
  3. Laksanakan arahan berikut:

    php artisan config:cache
  4. Mulakan semula perkhidmatan Laravel.

Kini, apabila anda mengakses Laravel dalam persekitaran pembangunan, anda akan melihat mesej ralat terperinci.

Mentafsir gesaan ralat Laravel

Apabila anda menghadapi ralat dalam Laravel, anda akan menerima gesaan ralat yang serupa dengan yang berikut:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'name' in 'where clause' (SQL: select * from `users` where `name` = test)

Gesaan ralat ini memberitahu kami Terdapat ralat dalam pertanyaan SQL ini Secara khusus, medan name tidak wujud. Mesej ralat ini memberikan kami tiga maklumat penting:

  1. Jenis ralat: Ini ialah kod ralat SQLSTATE yang mengenal pasti jenis ralat secara unik.
  2. Mesej ralat: Ini menunjukkan lokasi khusus ralat dan sebab ralat.
  3. Lokasi Ralat: Ini ialah lokasi khusus di mana ralat itu berada.

Selain ralat pertanyaan SQL, Laravel juga menyediakan jenis gesaan ralat lain, seperti ralat PHP (seperti pembolehubah tidak ditentukan atau fungsi tidak wujud), ralat sintaks templat, dsb.

Seterusnya, saya akan menunjukkan kepada anda beberapa jenis ralat Laravel biasa satu demi satu dan memberikan penyelesaian.

Ralat pertanyaan SQL

Ralat pertanyaan SQL ialah salah satu jenis ralat yang paling biasa dalam aplikasi Laravel. Berikut ialah beberapa contoh ralat dan penyelesaian pertanyaan SQL:

  1. Lajur tidak ditemui
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'name' in 'where clause' (SQL: select * from `users` where `name` = test)

Mesej ralat ini memberitahu kami bahawa medan name tidak wujud. Jika kita mengesan pertanyaan SQL, kita melihat bahawa medan username harus digunakan dan bukannya medan name.

  1. Jadual tidak ditemui
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'mydatabase.userss' doesn't exist (SQL: select * from `userss` where `email` = test@example.com)

Mesej ralat ini memberitahu kami bahawa jadual userss tidak wujud. Kita perlu menyemak dan mengesahkan bahawa nama jadual dieja dengan betul.

Ralat PHP

Selain daripada ralat pertanyaan SQL, kadangkala anda juga akan menghadapi jenis ralat lain seperti ralat PHP, dsb. Berikut ialah beberapa contoh ralat PHP biasa dan penyelesaiannya:

  1. Pembolehubah tidak ditentukan
Undefined variable: user (View: /var/www/resources/views/users/show.blade.php)

Mesej ralat ini memberitahu kami bahawa pembolehubah $user tidak ditentukan. Kita perlu menyemak dan mengesahkan sama ada pembolehubah ditakrifkan dengan betul atau dimulakan dengan betul sebelum menggunakannya.

  1. Panggil ke fungsi yang tidak ditentukan
Call to undefined function AppHttpControllersHomeControlleroo()

Mesej ralat ini memberitahu kami bahawa fungsi HomeController dalam foo() tidak wujud. Kita perlu menyemak dan mengesahkan bahawa fungsi ditakrifkan dengan betul atau ia diperkenalkan dengan betul sebelum memanggil fungsi tersebut.

Ralat sintaks templat

Apabila menggunakan templat paparan Laravel, anda mungkin menghadapi ralat sintaks templat. Berikut ialah beberapa contoh ralat sintaks templat biasa dan penyelesaiannya:

  1. Ralat sintaks
syntax error, unexpected ')', expecting variable (T_VARIABLE) or '{' or '$'

Mesej ralat ini memberitahu kami bahawa terdapat ralat sintaks dalam kod, kebanyakannya berkemungkinan kurungan Tidak sepadan. Kami perlu menyemak dan mengesahkan bahawa semua kurungan sepadan dengan betul.

  1. Pembolehubah tidak ditentukan
Undefined variable: user (View: /var/www/resources/views/users/show.blade.php)

Mesej ralat ini memberitahu kami bahawa pembolehubah $user tidak ditentukan. Kita perlu menyemak dan mengesahkan bahawa pembolehubah ditakrifkan dengan betul dan dimulakan dengan betul sebelum menggunakannya.

Kesimpulan

Menggunakan gesaan ralat dalam Laravel boleh membantu anda mencari dan menyelesaikan masalah tepat pada masanya. Dengan mentafsir mesej ralat dengan betul, kami boleh mencari masalah dan mengambil penyelesaian yang sesuai.

Semasa pembangunan dan fasa ujian, anda harus menetapkan .env dalam fail APP_ENV Laravel kepada local untuk menghidupkan gesaan ralat supaya ralat boleh ditemui dengan lebih mudah. Tetapi dalam persekitaran pengeluaran, anda harus menetapkan APP_ENV kepada production untuk mematikan gesaan ralat bagi mengelakkan maklumat sensitif bocor.

Saya harap artikel ini dapat membantu anda memahami dengan lebih baik gesaan ralat dalam Laravel dan berjaya menyelesaikan pembangunan projek.

Atas ialah kandungan terperinci laravel membuka mesej ralat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:kumpulan laravel mengikut ralatArtikel seterusnya:kumpulan laravel mengikut ralat