ホームページ  >  記事  >  バックエンド開発  >  PHPコードが有効にならない問題を分析して解決する

PHPコードが有効にならない問題を分析して解決する

PHPz
PHPzオリジナル
2023-04-24 10:51:451544ブラウズ

PHP は Web 開発の分野で広く使用されているプログラミング言語であり、php-fpm は PHP のプロセス マネージャーであり、サーバー上での PHP コードの実行プロセスの管理を担当します。 php-fpm を使用する場合、多くの開発者は PHP コードが有効にならないという問題に遭遇する可能性があります。この記事では、いくつかの一般的な原因について説明し、いくつかの解決策を提供します。

  1. php-fpm サービスが実行されているかどうかを確認する

最初に確認するのは、php-fpm サービスが実行されているかどうかです。次のコマンドを実行して、php-fpm が実行されているかどうかを確認できます:

systemctl status php-fpm

php-fpm サービスが開始されていない場合は、サービスを開始する必要があります:

systemctl start php-fpm
  1. Check PHP 構成ファイルが正しいかどうか

php-fpm サービスが実行されていても PHP コードが有効にならない場合は、PHP 構成ファイル (php.ini) が正しくないことが原因である可能性があります。正しく設定されています。 php.ini ファイルの場所は、次のコマンドで見つけることができます。

php --ini

このコマンドは、php.ini が存在するパスを返します。テキスト エディタで php.ini ファイルを開いて、次の内容を探してください:

cgi.fix_pathinfo=0

これは、PATH_INFO を有効にして 0 に設定することを意味します。これを次のように変更してください:

cgi.fix_pathinfo=1

次に、変更を保存して、 php-fpm サービスを再起動します:

systemctl restart php-fpm
  1. Nginx または Apache 構成ファイルを確認してください

php-fpm サービスが実行中であり、php 構成に問題がない場合ファイルに問題がある場合は、Nginx または Apache 構成ファイルに表示される可能性があります。この場合、次の点を確認する必要があります:

Nginx の場合:

Nginx 構成ファイルを開いてください (通常は /etc/nginx/conf.d/ または /etc/nginx にあります) / sites-enabled/ ディレクトリ) で、次のようなセクションを見つけます。

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;
}

fastcgi_pass が正しい IP アドレスとポート番号を指していることを確認してください。 php-fpm.conf ファイルで php-fpm リスニング ポートを変更した場合は、変更したポート番号を使用する必要があります。 SCRIPT_FILENAME 変数が正しく設定されていることを確認してください。

Apache の場合:

Apache の設定ファイル (通常は /etc/httpd/conf/httpd.conf または /etc/httpd/conf/httpd-vhosts.conf にあります) を開いてください。以下を見つけてください:

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

同様に、SetHandler が正しい IP アドレスとポート番号を指していること、および SCRIPT_FILENAME が正しく設定されていることを確認してください。

  1. PHP 拡張機能が正しくロードされているかどうかを確認してください

PHP コードで特定の拡張機能を使用している場合は、それらが正しくロードされていることを確認してください。読み込まれた PHP 拡張機能は、次のコマンドで確認できます。

php -m

拡張機能がリストに表示されない場合は、拡張機能をインストールする必要があります。拡張機能は、ターミナルで次のコマンドを実行することでインストールできます。

sudo apt-get install php-extension-name

「拡張機能名」を、インストールする必要がある拡張機能の名前に置き換えてください。

  1. キャッシュのクリア

PHP コードが有効にならないという問題は、キャッシュが原因で発生する場合があります。この問題を解決するには、キャッシュをクリアしてみてください。 Nginx および Apache の場合、次のコマンドを使用してキャッシュをクリアできます:

sudo service nginx/apache2 restart

php-fpm の場合、次のコマンドを使用して php-fpm を再起動し、キャッシュをクリアできます:

sudo systemctl restart php-fpm

概要

php-fpm を使用する場合、PHP コードが有効にならないという問題は、複数の理由で発生する可能性があります。この記事では、php-fpm サービスが実行されているかどうかの確認、PHP 構成ファイルが正しいかどうかの確認、Nginx または Apache 構成ファイルの確認、PHP 拡張機能が正しく読み込まれているかどうかの確認、キャッシュのクリアなどのいくつかの解決策を示します。それでも問題を解決できない場合は、ドキュメントを参照するか、開発者コミュニティで助けを求めてください。

以上がPHPコードが有効にならない問題を分析して解決するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。