このようにphpの最大実行時間を取得しています。
<?php ini_get('max_execution_time'); ?>
output: 30
しかし、私はこのスクリプトを実行できます。
<?php
sleep(200);
echo "no timeout error";
?>
output: no timeout error
imの実際のini値を取得する方法は?
よろしくお願いします
マニュアルから:
set_time_limit()関数と構成ディレクティブmax_execution_timeは、スクリプト自体の実行時間にのみ影響します。system()を使用したシステムコール、ストリーム操作、データベースクエリなど、スクリプトの実行外で発生するアクティビティに費やされた時間は、スクリプトが実行されている最大時間を決定するときに含まれません。
はシステムコールであるためsleep
、最大実行時間にはカウントされません。
max_exec_timeは30秒ですが、sleep()で時間が実行されていないため、タイムアウトにはなりませんが、スクリプトが何かを実行している場合に限ります。