Nginx は高性能、高同時実行性の Web サーバー ソフトウェアであり、PHP は Nginx で使用できる一般的な開発言語です。ただし、Nginx を使用すると、PHP ファイルが実行されないという問題が発生する可能性があります。これは通常、PHP の実行タイムアウトが原因で発生します。さて、この記事ではNginxでPHPの実行時間を設定することでこの問題を解決する方法を紹介します。
ステップ 1: 現在の PHP 実行時間設定を確認する
Nginx の PHP 実行時間の調整を開始する前に、現在の設定を理解する必要があります。次のコマンドを実行すると、現在の PHP 実行時間の設定を確認できます。
php -i | grep "max_execution_time"
これにより、現在の PHP 実行時間制限が出力されます。デフォルトでは、30 秒に設定されています。
ステップ 2: Nginx で PHP 実行時間設定を変更する
Nginx で PHP 実行時間設定を変更するには、Nginx Web サイト構成ファイルを編集する必要があります。この例では、Nginx Web サイト構成ファイルが /etc/nginx/sites-available/ ディレクトリにあり、example.com という名前が付けられていると仮定します。
example.com ファイルを開いて、次のコードを見つけます:
location ~ \.php$ { fastcgi_pass unix:/var/run/php/php7.3-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
このコード ブロックでは、fastcgi_read_timeout ディレクティブを追加する必要があります。このディレクティブは、PHP スクリプトの実行時間を秒単位で設定するために使用されます。
location ~ \.php$ { fastcgi_pass unix:/var/run/php/php7.3-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_read_timeout 300; # 5 minutes }
この例では、PHP の実行時間を 5 分に延長します。
ステップ 3: Nginx 構成をリロードしてテストする
これで、Nginx の PHP 実行時間設定が変更されました。ここで、変更を有効にするには、Nginx 構成ファイルをリロードする必要があります。
sudo systemctl reload nginx
次に、PHP の実行時間が正常に変更されたかどうかをテストできます。簡単な PHP スクリプトを作成することでこれをテストできます。
<?php sleep(300); # sleep for 5 minutes echo "Hello World!"; ?>
上記のコードを test.php として保存し、Nginx サーバーの Web ディレクトリにアップロードします。これで、Web ブラウザでファイルにアクセスし、5 分間待って出力が正しいかどうかを確認できるようになります。
概要
これで、Nginx で PHP 実行時間を設定することで、PHP スクリプトが実行されない問題を解決する方法を学びました。この記事の手順に従ってセットアップすると、PHP 実行タイムアウトを気にすることなく、PHP スクリプトが完全に実行されるようになります。
以上がnginx php ファイルの実行時間がかからない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。