Baru-baru ini, apabila saya menggunakan tapak web berdasarkan PHP 5.6 dan IIS, saya menghadapi masalah yang sangat membimbangkan, iaitu Ralat 500. Selepas penyahpepijatan berterusan dan mencuba, akhirnya saya menemui penyelesaian kepada masalah tersebut, dan berikut ialah langkah terperinci bagi keseluruhan proses.
1. Semak fail konfigurasi php.ini
Mula-mula, saya menyemak fail konfigurasi php.ini dan mendapati bahawa untuk tapak web ini, terdapat dua fail konfigurasi yang berbeza, satu terletak di dalam php installation directory , satu adalah dalam direktori root tapak web. Dalam kedua-dua fail ini, saya menemui tetapan yang dipanggil error_reporting, yang merupakan salah satu punca ralat 500.
error_reporting menentukan tahap ralat yang akan dilaporkan oleh php. Jika ia ditetapkan kepada E_ALL, semua ralat akan dipaparkan, termasuk ralat tahap amaran dan segera, dan ini boleh menyebabkan iis mengembalikan ralat 500. Oleh itu, saya menukar tetapan ini kepada E_ERROR supaya php hanya akan melaporkan ralat yang menyebabkan skrip ditamatkan, mengelakkan situasi ralat 500.
2. Semak tetapan iis FastCGI
Namun, walaupun menukar fail konfigurasi php.ini, tapak web masih menerima ralat 500. Pada masa ini, saya mula mengesyaki bahawa FastCGI mempunyai kaitan dengan iis.
Untuk menentukan masalah sepenuhnya, saya mengubah suai setiap tapak web dan tapak web lalai. Mengenai ralat 500, anda juga perlu menyemak item berikut:
a Laluan CGI php.exe, php-cgi.exe dan php.ini mesti ditambahkan pada bahagian "Pembolehubah Persekitaran" dalam FastCGI. tetapan.
b. Dalam "Pemetaan Pengendali", tukar kod FastCGIModule kepada FastCGI.
c. Untuk setiap tapak web atau tapak web lalai, sila pastikan laluan folder konfigurasi yang ditetapkan oleh FastCGI adalah betul laluan pemasangan lalai.
3. Semak log iis
Pada masa yang sama, saya juga menyemak butiran ralat dalam log iis. Di bawah bahagian "Laman Web" Pengurus IIS, klik kanan tapak web dan pilih "Urus Laman Web" - "Log Bank" - "Sijil" untuk mencari laluan ke log IIS. Dalam fail log ini, saya menemui mesej ralat penting: "Proses tidak boleh dimulakan kerana fail perpustakaan tidak dapat ditemui".
Ralat ini biasanya bermaksud bahawa i telah memulakan proses php atau FastCGI yang salah, atau tidak mempunyai kebenaran yang betul semasa masa jalan atau kebenaran telah diubah suai. Untuk membetulkannya, saya memasang semula PHP, memastikan IIS memulakan proses PHP yang betul dan mengesahkan kebenaran ditetapkan dengan betul.
Ringkasan
Selepas menyelesaikan semua masalah yang mungkin berlaku, tapak web php 5.6 iis saya akhirnya berjalan seperti biasa. Proses penyelesaian masalah ini adalah sangat panjang, tetapi ia masih merupakan pembelajaran dan pengalaman yang semakin berkembang.
Penyelesaian mungkin berbeza-beza bergantung pada persekitaran dan tetapan, tetapi menyemak fail konfigurasi php.ini dan tetapan FastCGI untuk iis sentiasa menjadi keutamaan. Dalam proses ini, adalah sangat berfaedah bagi kami untuk membangunkan dan menyelenggara laman web berdasarkan PHP dan IIS dengan memahami secara mendalam bagaimana PHP dan IIS berfungsi, sentiasa menyahpepijat dan mencungkil punca masalah, dan bukan hanya melihat masalah pada permukaan.
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan php 5.6 iis ralat 500. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!