web-dev-qa-db-ja.com

PHPの最大実行時間を増やす

実行時間を増やすためにset_time_limit(0);関数を追加しましたが、実行時間は最大2〜3分です。

error_reporting(E_ALL);
error_reporting(1);
set_time_limit(0);

長いLimeを使用しているサイトからリンクを検索したい。

どんな助けも大歓迎です。

どうもありがとう。

58
Bajrang

PHPファイル(たとえば、my_lengthy_script.php)

ini_set('max_execution_time', 300); //300 seconds = 5 minutes

。htaccessファイル

<IfModule mod_php5.c>
php_value max_execution_time 300
</IfModule>

その他の設定オプション

<IfModule mod_php5.c>
php_value post_max_size 5M
php_value upload_max_filesize 5M
php_value memory_limit 128M
php_value max_execution_time 300
php_value max_input_time 300
php_value session.gc_maxlifetime 1200
</IfModule>

ワードプレスの場合、これをconfig.phpファイルに設定します

define('WP_MEMORY_LIMIT', '128M');

drupalの場合、sites/default/settings.php

ini_set('memory_limit', '128M');

他のフレームワークを使用している場合、

ini_set('memory_limit', '128M');

ギガバイトとしてメモリを増やすことができます。

ini_set('memory_limit', '3G'); // 3 Gigabytes

259200の意味:-

( 259200/(60x60 minutes) ) / 24 hours ===> 3 Days

私のブログの詳細

205
Sumith Harshan

これらのコード行をhtaccessファイルに追加します。問題が解決することを願っています。

<IfModule mod_php5.c>
php_value max_execution_time 259200
</IfModule>
10
Salman Aslam

まあ、あなたは共有サーバー上にいるので、あなたはそれについて何もすることができません。通常は、オーバーライドできないように最大実行時間を設定します。それらに連絡することをお勧めします。

3
Mob

まあ、max_execution_timeを変更するには2つの方法があります。
1。 php.iniファイルで直接設定できます。
2。次に、コードに次の行を追加できます。

ini_set('max_execution_time', '100')
1
Nishu Tayal

Webサーバーにはおそらく制限が設定されています。一部のブラウザ/プロキシもタイムアウトを実装します。 HTTPリクエストを介して長時間実行されるプロセスを呼び出すことは、まったくばかげています。問題を解決する正しい方法(処理を速くできないと仮定)は、HTTP要求を使用してWebサーバーセッショングループの外部で処理をトリガーし、結果セットが得られるまでHTTP経由でステータスをポーリングします。

0
symcbean

これは古い質問ですが、今日誰かがそれを見つけた場合、phpがphp-fpmとmod_fastcgiを介して実行される可能性があります。その場合、Apacheは30秒間何も出力しないプロセスへの接続を終了するため、実行時間の延長に役立つものはありません。それを拡張する唯一の方法は、Apache(モジュール/サイト/ vhost)構成の-idle-timeoutを変更することです。

FastCgiExternalServer /usr/lib/cgi-bin/php7-fcgi -socket /run/php/php7.0-fpm.sock -idle-timeout 900 -pass-header Authorization

詳細- PHP-FPMアイドルタイムアウト設定を増やす

0
seven