1. Prinsip operasi PHP
Soalan biasa: Prinsip operasi Nginx PHP - FPM
CGI: Sesetengah Pelayan Web awal hanya boleh memproses fail statik HTML yang mudah, tetapi dengan kemajuan teknologi Dengan perkembangan itu, bahasa dinamik (seperti PHP, Python) muncul. Dalam ini, jika kita ingin memproses PHP, kita perlu menyerahkan penghurai PHP untuk diproses, tetapi selepas PHP diproses, bagaimana untuk berkomunikasi dengan Pelayan Web kita? Ini adalah masalah. Untuk menyelesaikan masalah komunikasi antara pemproses bahasa yang berbeza dan Pelayan Web, protokol CGI muncul Selagi program ditulis mengikut protokol CGI, komunikasi antara penghurai bahasa dan Pelayan Web dapat direalisasikan. (Contohnya: program CGI PHP) Dalam proses ini, CGI ialah jambatan protokol antara penghurai PHP dan Pelayan Web.
FastCGI: Walaupun CGI menyelesaikan masalah komunikasi antara PHP dan Pelayan Web, kecekapannya sangat rendah kerana setiap kali Pelayan Web menerima permintaan, ia akan membuka proses CGI baharu, dan kemudian menamatkan proses ini apabila permintaan itu tamat. . Proses, jika kami mempunyai 10,000, 100,000 atau 1 juta permintaan sedemikian pada masa ini, kami akan membuka 100,000 atau 1 juta proses baharu dan kemudian menamatkannya dengan sendirinya, pembaziran besar sumber kami. Pada masa ini, FastCGI muncul terutamanya sebagai versi CGI yang dipertingkatkan Selepas setiap permintaan diproses, proses itu tidak akan ditamatkan, tetapi proses itu akan dikekalkan supaya proses itu boleh mengendalikan berbilang permintaan pada satu masa kes, Tidak ada keperluan untuk membuka semula proses setiap kali, yang meningkatkan kecekapan kami.
PHP-FPM: (Pengurus Proses FastCGI: pengurus proses FastCGI), FPM ialah pelaksanaan FastCGI dan menyediakan fungsi pengurusan proses. Proses ini merangkumi dua proses: proses induk dan proses pekerja Hanya terdapat satu proses induk, yang bertanggungjawab untuk mendengar port dan menerima permintaan daripada Pelayan Web Secara umumnya terdapat berbilang proses pekerja, dan nombor tertentu akan ditakrifkan konfigurasi FPM. Setiap proses Penghurai PHP dibenamkan di dalam setiap proses (iaitu di mana kod PHP sebenarnya dilaksanakan, dengan kata lain, pekerja memproses kod PHP, manakala master terutamanya mendengar pada port dan menerima permintaan daripada Pelayan Web. Dengan sendirinya, port mendengar induk ialah 9000 secara lalai, dan port 9000 diproksikan melalui proksi terbalik Nginx, jadi di sini kita boleh melengkapkan pemprosesan berkaitan FPM.
2. Terangkan secara ringkas perbezaan antara CGI, FastCGI dan PHP-FPM.
CGI: Untuk menghubungi protokol dalam Pelayan Web dan penghurai PHP, ia bertindak sebagai jambatan.
FastCGI: Ia adalah versi CGI yang dipertingkatkan.
PHP-FPM: Pengurus Proses FastCGI, pengurus proses FastCGI.
Atas ialah kandungan terperinci Bagaimana PHP berfungsi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!