Bagaimana untuk menyelesaikan nginx tidak menghuraikan fail php

PHPz
Lepaskan: 2023-05-21 10:46:46
ke hadapan
1682 orang telah melayarinya

  1. PHP tidak dipasang atau dikonfigurasikan

Pertama, sila pastikan pelayan anda telah memasang PHP dan mengkonfigurasi nginx dengan betul untuk dibuat ia berfungsi dengan betul. Untuk menyemak sama ada PHP telah dipasang dengan betul, buka terminal dan jalankan arahan berikut:

php -v
Salin selepas log masuk

Ini akan memaparkan versi PHP yang dipasang pada pelayan anda. Jika versi PHP tidak dipaparkan, pertimbangkan untuk memasang PHP.

Untuk memastikan PHP berfungsi dengan nginx, edit fail konfigurasi nginx dan tambah baris berikut:

location ~ \.php$ {
  fastcgi_pass  unix:/run/php/php7.4-fpm.sock;
  fastcgi_index index.php;
  include fastcgi_params;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
Salin selepas log masuk

Di sini kami ingin menentukan lokasi pemprosesan fail PHP nginx dan parameter lain. Sila sahkan bahawa blok kod telah ditambahkan pada fail konfigurasi nginx anda dan bahawa laluan ke fail sock sepadan dengan fail konfigurasi PHP anda.

  1. fail index.php tidak ditetapkan

Jika halaman utama aplikasi web anda ialah index.php, tetapi ia tidak akan ditetapkan dalam nginx Diproses secara automatik, maka anda perlu menambah index.php dalam arahan "index" fail konfigurasi nginx seperti berikut:

index index.php index.html;
Salin selepas log masuk

Sekarang, apabila anda membuka halaman utama, nginx akan mencari index.php secara automatik dan memprosesnya betul la.

  1. Kebenaran fail PHP

Satu lagi sebab utama mengapa nginx tidak boleh menghuraikan fail PHP ialah kebenaran yang salah. Pastikan yang berikut:

  • Kebenaran fail PHP ialah 644

  • Kebenaran direktori tempat fail PHP terletak ialah 755

Juga pastikan bahawa pengguna nginx mempunyai pemilikan semua fail PHP, dan pemilikan direktori tempat fail PHP berada juga ditetapkan kepada kumpulan nginx. Ini boleh dicapai dengan menggunakan arahan berikut:

sudo chown -R nginx:nginx /var/www/html/
Salin selepas log masuk

Di sini kami menetapkan pemilikan direktori /var/www/html/ kepada pengguna dan kumpulan nginx.

  1. Modul PHP tidak didayakan

Jika nginx anda tidak dapat menghuraikan fail PHP tanpa menunjukkan sebarang mesej ralat, sila pastikan modul PHP didayakan. Untuk mendayakannya, edit pilihan kompilasi nginx, tambah baris berikut:

--with-http_stub_status_module \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_auth_request_module \
--with-http_image_filter_module \
--with-http_geoip_module \
--with-http_degradation_module \
--with-http_xslt_module \
--with-http_stub_status_module \
--with-http_spdy_module \
--with-http_auth_request_module \
--with-http_slice_module \
--with-mail \
--with-mail_ssl_module \
--with-ipv6 \
--with-pcre \
--with-stream \
--with-stream_ssl_module \
--with-threads \
--with-debug \
--add-module=/path/to/php-src/sapi/nginx/
Salin selepas log masuk

Di sini kami menambah --add-module=/path/to/php-src/sapi/nginx/ untuk mendayakan modul PHP.

  1. Log Ralat PHP

Jika nginx tidak dapat menghuraikan fail PHP tetapi tidak memaparkan sebarang mesej ralat, anda boleh mencari maklumat dalam log ralat PHP Maklumat lanjut tentang ralat. Buka fail php.ini dan nyahkomen baris berikut untuk mendayakan pengelogan ralat PHP

error_log = /var/log/php/error.log
log_errors = On
Salin selepas log masuk

Kami menentukan /var/log/php/error.log sebagai log ralat PHP dan membolehkan fungsi pengelogan ralat. Sila pastikan folder telah dibuat dan mempunyai kebenaran yang sesuai.

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan nginx tidak menghuraikan fail php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan