Rumah >pembangunan bahagian belakang >masalah PHP >Menganalisis dan menyelesaikan masalah kod PHP tidak berkuat kuasa

Menganalisis dan menyelesaikan masalah kod PHP tidak berkuat kuasa

PHPz
PHPzasal
2023-04-24 10:51:451568semak imbas

PHP ialah bahasa pengaturcaraan yang digunakan secara meluas dalam bidang pembangunan web, dan php-fpm ialah pengurus proses PHP, bertanggungjawab untuk menguruskan proses pelaksanaan kod PHP pada pelayan. Apabila menggunakan php-fpm, ramai pembangun mungkin menghadapi masalah bahawa kod PHP tidak berkuat kuasa. Dalam artikel ini, kami akan membincangkan beberapa punca biasa dan menyediakan beberapa penyelesaian.

  1. Semak sama ada perkhidmatan php-fpm sedang berjalan

Perkara pertama yang perlu diperiksa ialah sama ada perkhidmatan php-fpm sedang berjalan. Anda boleh menyemak sama ada php-fpm sedang berjalan dengan menjalankan arahan berikut:

systemctl status php-fpm

Jika perkhidmatan php-fpm tidak dimulakan, anda perlu memulakan perkhidmatan:

systemctl start php-fpm
  1. Semak konfigurasi PHP Adakah fail itu betul

Jika perkhidmatan php-fpm sedang berjalan tetapi kod PHP anda masih tidak berkuat kuasa, ini mungkin kerana fail konfigurasi PHP (php.ini ) tidak dikonfigurasikan dengan betul. Lokasi fail php.ini boleh didapati dengan arahan berikut:

php --ini

Arahan ini akan mengembalikan laluan di mana php.ini berada. Sila buka fail php.ini dengan editor teks dan cari yang berikut:

cgi.fix_pathinfo=0

Ini bermakna dayakan PATH_INFO dan tetapkannya kepada 0, sila tukar kepada:

cgi.fix_pathinfo=1

Kemudian simpan perubahan dan mulakan semula perkhidmatan php-fpm:

systemctl restart php-fpm
  1. Semak fail konfigurasi Nginx atau Apache

Jika perkhidmatan php-fpm sedang berjalan, fail konfigurasi php Tiada masalah, maka masalah mungkin muncul dalam fail konfigurasi Nginx atau Apache. Dalam kes ini, anda perlu menyemak perkara berikut:

Untuk Nginx:

Sila buka fail konfigurasi Nginx (biasanya terletak di /etc/nginx/conf.d/ atau /etc/nginx / sites-enabled/ directory), cari bahagian yang serupa dengan yang berikut:

location ~ \.php$ {
        fastcgi_pass    127.0.0.1:9000;
        fastcgi_index   index.php;
        include         fastcgi_params;
        fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
}

Pastikan fastcgi_pass menghala ke alamat IP dan nombor port yang betul. Jika anda menukar port mendengar php-fpm dalam fail php-fpm.conf, anda perlu menggunakan nombor port yang diubah. Pastikan pembolehubah SCRIPT_FILENAME ditetapkan dengan betul.

Untuk Apache:

Sila buka fail konfigurasi Apache (biasanya terletak di /etc/httpd/conf/httpd.conf atau /etc/httpd/conf/httpd-vhosts.conf), dan Cari yang berikut:

<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

Begitu juga, pastikan SetHandler menunjuk ke alamat IP dan nombor port yang betul, dan SCRIPT_FILENAME ditetapkan dengan betul.

  1. Semak sama ada sambungan PHP dimuatkan dengan betul

Jika anda menggunakan sambungan tertentu dalam kod PHP anda, pastikan sambungan tersebut dimuatkan dengan betul. Sambungan PHP yang dimuatkan boleh disemak dengan arahan berikut:

php -m

Jika sambungan anda tidak muncul dalam senarai, anda perlu memasang sambungan. Sambungan boleh dipasang dengan menjalankan arahan berikut dalam terminal:

sudo apt-get install php-extension-name

Sila gantikan "extension-name" dengan nama sambungan yang perlu anda pasang.

  1. Kosongkan cache

Dalam sesetengah kes, masalah kod php tidak berkuat kuasa mungkin disebabkan oleh cache. Anda boleh cuba mengosongkan cache anda untuk menyelesaikan isu ini. Untuk Nginx dan Apache, anda boleh menggunakan arahan berikut untuk mengosongkan cache:

sudo service nginx/apache2 restart

Untuk php-fpm, anda boleh menggunakan arahan berikut untuk memulakan semula php-fpm dan mengosongkan cache:

sudo systemctl restart php-fpm

Ringkasan

Apabila menggunakan php-fpm, masalah kod php tidak berkuat kuasa mungkin disebabkan oleh pelbagai sebab. Artikel ini menyediakan beberapa penyelesaian, termasuk menyemak sama ada perkhidmatan php-fpm sedang berjalan, menyemak sama ada fail konfigurasi PHP adalah betul, menyemak fail konfigurasi Nginx atau Apache, menyemak sama ada sambungan PHP dimuatkan dengan betul dan mengosongkan cache, dsb. Jika anda masih tidak dapat menyelesaikan isu tersebut, sila rujuk dokumentasi atau minta bantuan dalam komuniti pembangun.

Atas ialah kandungan terperinci Menganalisis dan menyelesaikan masalah kod PHP tidak berkuat kuasa. 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