Rumah > Artikel > pembangunan bahagian belakang > Apakah yang perlu saya lakukan jika mac nginx tidak dapat menghuraikan fail php?
Ia adalah operasi biasa untuk menggunakan Nginx untuk membina pelayan web pada Mac, tetapi kadangkala anda menghadapi masalah yang Nginx tidak dapat menghuraikan fail PHP. Dalam kes ini, apabila mengakses fail PHP, ia akan dimuat turun terus dan bukannya dihuraikan dan dilaksanakan, yang membawa kesulitan kepada pembangunan web.
Artikel ini akan memperkenalkan cara menyelesaikan masalah yang Nginx tidak dapat menghuraikan fail PHP apabila menggunakan Nginx untuk membina pelayan web pada Mac. Ia terutamanya merangkumi aspek berikut:
Nginx tidak menyokong penghuraian PHP secara lalai . PHP-FPM perlu digunakan untuk melaksanakan penghuraian PHP. Selepas PHP-FPM dimulakan, ia mewujudkan sambungan Soket dengan Nginx dan memajukan permintaan kepada proses PHP-FPM untuk diproses kemudian mengembalikan hasil pemprosesan kepada Nginx, dan akhirnya Nginx mengembalikan hasilnya kepada klien.
Oleh itu, sebab Nginx tidak boleh menghuraikan fail PHP mungkin seperti berikut:
Atas sebab di atas, ambil kaedah berikut untuk menyelesaikannya.
2.1 Pasang PHP-FPM
Mula-mula anda perlu memasang PHP-FPM, anda boleh menggunakan Homebrew untuk memasang:
brew install php-fpm
Selepas pemasangan selesai, anda boleh gunakan arahan berikut untuk menyemak sama ada ia berjaya dipasang:
php-fpm -v
Jika maklumat versi PHP dipaparkan, pemasangan berjaya.
2.2 Mulakan PHP-FPM
Selepas memasang PHP-FPM, anda perlu memulakan proses PHP-FPM:
sudo php-fpm
Selepas bermula, anda boleh menggunakan yang berikut arahan untuk menyemak PHP-FPM Sama ada permulaan berjaya:
ps aux | grep php-fpm
Jika maklumat yang serupa seperti berikut dipaparkan, ini bermakna PHP-FPM berjaya dimulakan:
_www 49202 0.0 0.7 5871400 11664 ?? S 11:42上午 0:00.03 php-fpm: pool www
2.3 Konfigurasikan Nginx
dalam fail konfigurasi Nginx Untuk menambah konfigurasi penghuraian PHP, anda boleh menambah kandungan berikut dalam segmen pelayan:
location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
Arahan penghuraian:
location ~ .php$
: bermaksud memadankan semua permintaan yang berakhir dengan .php fastcgi_pass 127.0.0.1:9000;
: Menunjukkan bahawa permintaan akan dimajukan ke proses PHP-FPM untuk diproses Nombor port di sini harus konsisten dengan nombor port digunakan apabila proses PHP-FPM dimulakan fastcgi_index index.php;
: Menunjukkan bahawa apabila permintaan Apabila tiada fail tertentu dalam direktori, index.php digunakan secara lalai sebagai fail masukan fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
: menunjukkan bahawa laluan penuh fail yang diminta dihantar ke proses PHP-FPM, di mana $document_root mewakili direktori akar Web konfigurasi Nginx, $ fastcgi_script_name mewakili laluan penuh permintaan (tidak termasuk nama domain dan parameter) include fastcgi_params;
: mewakili pengenalan fail konfigurasi parameter FastCGI, yang mengandungi beberapa konfigurasi parameter yang berkaitan dengan FastCGI. Selepas konfigurasi selesai, anda boleh menggunakan arahan berikut untuk memuatkan semula konfigurasi Nginx:
sudo nginx -s reload
Di atas adalah penyelesaian kepada masalah yang Nginx tidak dapat menghuraikan fail PHP apabila menggunakan Nginx untuk membina pelayan web pada kaedah Mac. Semoga artikel ini bermanfaat kepada anda.
Atas ialah kandungan terperinci Apakah yang perlu saya lakukan jika mac nginx tidak dapat menghuraikan fail php?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!