Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Ringkaskan beberapa ralat dan gesaan biasa dalam PHP

Ringkaskan beberapa ralat dan gesaan biasa dalam PHP

PHPz
PHPzasal
2023-04-03 15:47:551145semak imbas

PHP ialah bahasa yang digunakan secara meluas yang digunakan oleh banyak tapak web dan aplikasi untuk melaksanakan fungsi dan interaktiviti. Walau bagaimanapun, sebagai bahasa yang ditafsirkan, PHP menghadapi pelbagai masalah semasa menulis dan menjalankan kod, terutamanya ralat dan pengecualian. Dalam artikel ini, kami akan membincangkan beberapa ralat dan gesaan PHP biasa, serta memberikan cadangan tentang cara menyelesaikannya.

1. Ralat Biasa

1.1 Ralat Sintaks

Ralat sintaks PHP biasanya disebabkan oleh ralat sintaks kod. Dalam kod PHP, ralat tatabahasa biasa termasuk tetapi tidak terhad kepada:

  • Ralat ejaan: Jika anda salah mengeja kata kunci, fungsi, nama kelas, simbol, dsb., ia akan menyebabkan ralat tatabahasa dalam kod . Contohnya, tulis "untuk" sebagai "fr", dsb.
  • Tiada koma bertitik: Kebanyakan baris kod memerlukan koma bertitik selepasnya dan jika anda terlupa menambah koma bertitik, ia akan mengakibatkan ralat sintaks.
  • Ketidakpadanan kurungan: Jika anda tidak memadankan kurungan, kurungan segi empat sama atau kurungan kerinting dengan betul, kod anda akan menyebabkan ralat sintaks disebabkan oleh tiada atau berlebihan.
  • Ralat simbol khas: Jika anda menggunakan simbol khas yang tidak dibenarkan dalam kod anda, ia akan menyebabkan ralat sintaks.

Ralat sintaks ini biasanya dikenal pasti sebelum kod dijalankan dan gesaan ralat yang sesuai diberikan oleh penterjemah PHP.

1.2 Ralat Masa Jalan

Ralat masa jalan dalam PHP biasanya disebabkan oleh:

  • Fail atau direktori tidak wujud: Jika anda cuba memasukkan atau merujuk fail atau direktori yang tidak wujud akan mencetuskan ralat masa jalan.
  • Kehabisan Memori: Jika anda cuba memperuntukkan terlalu banyak memori atau kod anda terlalu mahal, anda mungkin kehabisan memori yang tersedia, menyebabkan ralat masa jalan.
  • Pengiriman hujah yang salah: Jika anda cuba menghantar argumen jenis, nombor, susunan atau format yang salah, ia boleh menyebabkan ralat masa jalan.
  • Ralat sambungan pangkalan data: Jika anda cuba menyambung ke pangkalan data dan sambungan gagal, ini boleh menyebabkan ralat masa jalan.

Ralat masa jalan ini biasanya dikenal pasti semasa pelaksanaan kod dan gesaan ralat yang sesuai diberikan oleh jurubahasa PHP.

2. Mesej ralat PHP dan cadangan penyelesaian masalah

2.1 Memahami mesej ralat PHP

Apabila ralat berlaku dalam kod PHP, penterjemah akan memaparkan mesej ralat yang sepadan. Mesej ralat ini boleh membantu anda mengenal pasti ralat dalam kod anda dan membantu anda dalam penyahpepijatan. Berikut ialah mesej ralat PHP biasa:

  • Ralat maut: Ralat maut, ralat ini akan menyebabkan atur cara ranap. Biasanya berlaku apabila terdapat ralat sintaks, kelas, fungsi tidak dapat ditemui, dsb.
  • Ralat penghuraian: Ralat penghuraian, juga ralat tatabahasa, biasanya berlaku dalam ralat ejaan, koma bertitik hilang, dsb.
  • Amaran: Mesej amaran, biasanya menunjukkan beberapa masalah yang tidak serius, seperti membuka fail yang tidak wujud atau menggunakan pembolehubah tidak ditentukan. Kod boleh terus dijalankan, tetapi pengecualian mungkin berlaku dan perlu ditangani dengan segera.
  • Notis: Maklumat segera, biasanya amaran yang tidak perlu atau tidak penting, seperti menggunakan pembolehubah yang tidak dimulakan. Kod boleh terus dijalankan, tetapi kod itu mungkin perlu dilaraskan.
  • Ditamatkan: Maklumat yang ditamatkan, biasanya menunjukkan bahawa kod itu sudah lapuk atau mungkin dialih keluar pada masa hadapan. Maklumat penamatan perlu diubah suai dengan sewajarnya untuk mengoptimumkan kod dan mengelakkan ralat masa hadapan.

2.2 Gesaan ralat PHP biasa dan cadangan penyelesaian masalah

2.2.1 Fungsi atau kaedah yang tidak ditentukan

Mesej ralat: Ralat maut: Panggilan ke fungsi yang tidak ditentukanNama () dalam /path/to/file.php on line xx

Cadangan pengecualian: Semak sama ada fungsi atau kaedah ditakrifkan dengan betul. Pastikan fungsi atau fail kelas berjaya dimuatkan. Keadaan ini biasanya disebabkan oleh masalah dengan ejaan fungsi atau kaedah atau dengan tidak mengimport fail di mana fungsi atau kaedah berada dengan betul.

2.2.2 Kelas tidak wujud

Mesej ralat: Ralat maut: Kelas 'Nama Kelas' tidak ditemui dalam /path/to/file.php pada baris xx

Pengecualian Cadangan: Semak sama ada nama kelas adalah betul dan pastikan fail di mana kelas berada telah berjaya dimuatkan. Kenyataan penggunaan mungkin tiada dan pernyataan penggunaan perlu ditambah untuk memperkenalkan kelas. Keadaan ini biasanya disebabkan oleh penggunaan huruf besar yang salah bagi nama kelas, laluan fail yang salah atau fail tidak diimport dengan betul.

2.2.3 Ralat sintaks

Mesej ralat: Ralat hurai: ralat sintaks, 'xxx' (T_STRING) tidak dijangka dalam /path/to/file.php pada baris xx

Cadangan penyelesaian masalah: Semak baris yang ditentukan dalam kod untuk ralat ejaan, ralat tatabahasa atau kurungan yang tiada. Pastikan kod mematuhi spesifikasi sintaks PHP. Keadaan ini biasanya disebabkan oleh tidak menyemak kod dengan teliti semasa menulisnya.

2.2.4 pembahagian dengan sifar

Mesej ralat: Amaran: Pembahagian dengan sifar dalam /path/to/file.php pada baris xx

Cadangan penyelesaian masalah: Semak kod Adakah operasi matematik dilakukan dengan betul? Semak kod yang berkaitan untuk memastikan penyebutnya tidak sifar untuk mengelakkan ralat ini. Keadaan ini biasanya disebabkan oleh sifar atau NULL dalam penyebut logik kod.

2.2.5 Fail atau direktori tidak wujud

Mesej ralat: Amaran: include_once(): Gagal membuka '/path/to/file.php' untuk dimasukkan

Cadangan pengecualian: Semak sama ada fail atau direktori itu wujud. Pastikan fail yang berkaitan telah dimuat naik atau direktori itu wujud. Keadaan ini agak biasa dan mungkin disebabkan oleh fail atau direktori dipadamkan atau laluan fail tidak betul.

2.2.6 Memori tidak mencukupi

Mesej ralat: Ralat maut: Saiz memori yang dibenarkan sebanyak xxx bait habis (cuba memperuntukkan xxx bait) dalam /path/to/file.php pada baris xx

Cadangan penyelesaian masalah: Semak kod untuk kebocoran memori. Optimumkan kod untuk mengelakkan mencipta terlalu banyak objek atau pembolehubah dan membebaskan memori yang tidak diperlukan. Keadaan ini biasanya disebabkan oleh overhed kod yang berlebihan, kebocoran memori, kekurangan konfigurasi memori, dsb.

Ringkasan

Apabila menulis kod PHP, anda sering menghadapi pelbagai ralat dan pengecualian Gesaan ralat ini boleh membantu pembangun mencari ralat dengan cepat. Untuk lebih memahami mesej ralat PHP dan mengelakkan kesilapan biasa, adalah disyorkan:

  • Ketahui spesifikasi sintaks PHP dan tulis kod yang mematuhi spesifikasi.
  • Semak kod secara kerap dan betulkan ralat dan kelemahan tepat pada masanya.
  • Gunakan alatan IDE untuk mempercepatkan penulisan kod dan nyahpepijat.

Perkara yang paling penting ialah mengumpul pengalaman melalui latihan dan meningkatkan kebolehan dan kemahiran menyelesaikan masalah, supaya dapat menulis kod PHP yang cekap dan berkuasa.

Atas ialah kandungan terperinci Ringkaskan beberapa ralat dan gesaan biasa dalam PHP. 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