61

実行時間を長くする機能を追加しましset_time_limit(0);たが、最大で 2 ~ 3 分しか実行できません。

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

時間のかかるサイトからリンクを検索したい。

4

8 に答える 8

221

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>

wordpressの場合は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

詳しくは私のブログで

于 2013-01-12T05:53:17.500 に答える
10

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

<IfModule mod_php5.c>
php_value max_execution_time 259200
</IfModule>
于 2011-10-12T12:52:29.183 に答える
3

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

于 2011-10-13T07:15:18.263 に答える
1

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

ini_set('max_execution_time', '100')
于 2011-10-12T12:58:48.790 に答える
0

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

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

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

于 2017-01-03T22:17:10.077 に答える
0

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

于 2011-10-12T12:15:11.610 に答える