Web アプリケーションの開発と使用を継続的に行うと、多くの場合、いくつかの重要なタスクを PHP で実行する必要があります。これらのタスクの実行時間と品質を確保するには、スクリプトの実行時間を最適化する必要があります。この記事では、スクリプトの実行時間を変更して、スクリプトのパフォーマンスと安定性を向上させる方法を紹介します。
php.ini は、PHP システム設定ファイルであり、いくつかの PHP パラメータ設定情報が含まれています。 php.ini には、スクリプトの最大実行時間を指定するために使用される max_execution_time というパラメーターがあります。デフォルトでは、このパラメータは 30 秒に設定されており、スクリプトの実行時間がこの時間を超えると、スクリプトは終了され、致命的なエラーが表示されます。
php.ini ファイルの max_execution_time パラメータを変更することで、スクリプトの実行時間を延長できます。 php.ini で max_execution_time を検索し、対応する行を見つけて、その値を変更します。たとえば、60 秒に設定します。
max_execution_time = 60
php.ini ファイルを変更した後、変更を有効にするには、Apache または PHP サービスを再起動する必要があります。
グローバルな max_execution_time パラメータを変更したくない場合は、一時的にスクリプトの実行時間。 PHP には、スクリプトの実行時間を設定するための set_time_limit 関数が用意されています。この関数のパラメータは、スクリプトの最大実行時間を秒単位で表します。パラメータを 0 に設定すると、スクリプトの実行時間に制限はありません。
次はサンプルコードです:
<?php // 设置脚本的最大执行时间为60秒 set_time_limit(60); // 执行些重要的任务 ... // 恢复脚本的最大执行时间为默认值(按照php.ini中的配置) set_time_limit(0); ?>
スクリプト内で set_time_limit 関数を使用する場合は注意してください。この関数は、PHP のバージョンが 5.3.0 より前の場合にのみ使用できます。 5.3.0 および上記のバージョンでは非推奨になりました。さらに、スクリプトで set_time_limit 関数を使用する場合でも、php.ini の max_execution_time パラメータを変更する場合でも、実行時間が適切に設定されていることを確認する必要があります。そうしないと、サーバー リソースが無駄に消費され、システムの安定性に影響を与える可能性があります。 。
PCNTL (プロセス コントロール) は、プロセスを処理するために使用される PHP の拡張機能であり、次の実行を制御するために使用できます。スクリプト 時間とプロセス。 PCNTL では、pcntl_alarm 関数を使用してスクリプトの最大実行時間を設定できます。この関数のパラメータは秒数を表す整数です。タイマー時間が経過すると、SIGALRM シグナルが現在のプロセスに送信され、スクリプトが中断されます。
以下はサンプル コードです:
<?php // 函数定义 function my_alarm_handler() { // 执行中断代码 ... exit; } // 设置定时器 pcntl_alarm(60); // 设置为60秒 // 安装信号处理器 pcntl_signal(SIGALRM, 'my_alarm_handler'); // 执行重要的任务 ... // 关闭定时器 pcntl_alarm(0); ?>
PCNTL 拡張機能を使用する場合の注意: まず第一に、PCNTL 拡張機能は PHP の標準拡張機能ではないため、コンパイル時に明示的に有効にする必要があります。次に、この拡張機能は PHP CLI 環境でのみ使用でき、Web 環境では使用できません。最後に、PCNTL 拡張機能はシステムのシグナル ハンドラーとプロセスに関連しているため、それらを使用する場合は、予期しない結果を避けるために特別な注意を払う必要があります。
概要
スクリプトの実行時間を変更することは、PHP のパフォーマンスと安定性を向上させるための鍵の 1 つです。この記事では、スクリプトの実行時間を変更する 3 つの方法を紹介します。これには、php.ini 構成ファイルの max_execution_time パラメーターを変更する方法、スクリプト内の実行時間を一時的に変更する方法、および PCNTL 拡張機能を使用してスクリプトの実行時間を制御する方法が含まれます。実際のニーズに応じて適切な方法を選択し、PHP アプリケーションの高いパフォーマンスと安定性を確保できます。
以上がPHPでスクリプトの実行時間を変更するにはどうすればよいですか? 3 紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。