web-dev-qa-db-ja.com

PHPでmax_execution_timeを増やしますか?

サーバーに大きなファイルをアップロードしようとしています(サーバーはpost_max_size 192mbおよびmax_execution_time 600秒をサポートしています)。 100MBのファイルをアップロードすると、600秒後に実行が停止するため、ファイルはサーバーにアップロードされません。 PHP(ファイルのアップロードプロセスのみ)でmax_execution_timeを増やすにはどうすればよいですか?]

ini_set ( 'max_execution_time', 1200); 
if(move_uploaded_file($_FILES['Video']['tmp_name'],$tmppath)) {
  // ...
} 

これを克服する方法はありますか?

20
Chithri Ajay

これをhtaccessファイルに追加します。

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

これらの設定の詳細については、 http://www.pacecode.com/blog/2008/09/22/magic-with-htaccess-file-increase-execution-time-session-expiry-time-and-file-upload-size-制限

[〜#〜] edit [〜#〜]

元の記事の内容がここに再現されたようです: http://www.rajamm.info/2008/09/22/magic-with-htaccess-file-increase-execution-time-session-expiry -time-and-file-upload-size-limit

32
Jeremy Harris

wHMにアクセスできる場合は、次の手順を実行できます。

ある時点で、おそらくPHPの構成オプションを調整する必要があります。 PHP.iniファイルを手動で編集する代わりに、WHM内から編集できます。

1)サービス構成メニューを見つけます。

enter image description here

2)PHP Configuration Editorをクリックします。 enter image description here

このエディターには、基本と詳細の2つのモードがあります。最大限の範囲のオプションにアクセスするには、詳細モードを使用する必要があります。ページ上部のボタンをクリックして利用できます。

enter image description here

自分が何をしているのかが確実にわかるまで、詳細設定の変更を待つことをお勧めします。設定に関する詳細情報が必要な場合は、[セクション]列のリンクをクリックすると、PHPドキュメントに移動します。基本モードの最初のオプションはupload_max_filesizeで、PHPを介してアップロードされるファイルの最大サイズを制限します。このオプションは、JoomlaやvBulletinなど、サーバーで実行される可能性のあるさまざまなソフトウェアの添付またはアップロードシステムに影響します。これをデフォルトよりもかなり高い値に変更することをお勧めします。 Mが後に続く数値を使用して、サイズをメガバイト単位で指定します。include_pathをデフォルトから変更する必要はほとんどありません。最大アップロードサイズの制限に加えて、file_uploads設定を使用してファイルのアップロードを完全にオフにすることもできます。一部のPHPプログラマーは、多くのサーバーで有効にされていない短縮タグを使用する習慣があります。これは、それらのスクリプトが機能しないことを意味します。その種類のタグを必要とするスクリプトが発生した場合は、asp_tagsを有効にします。

enter image description here

Memory_limitを使用すると、特定のPHPスクリプトがいつでも使用できるメモリ量に制限を課すことができます。どうしても必要な場合を除き、register_globalsを有効にすることはお勧めしません。これは多くのセキュリティ問題の原因であり、PHP 6がリリースされると完全に削除されます。 max_execution_time設定は、適切に記述されていないスクリプトがサーバーを拘束しないようにします。デフォルトでは、このオプションは30秒に設定されています。これを高くしすぎると、サーバーのパフォーマンスが低下する可能性があります。同様に、max_input_timeは、スクリプトがフォームやファイルのアップロードなどの入力データを解析できる時間に制限を設けます。

enter image description here

Enable_dlを使用すると、すべてのユーザーがPHP拡張機能を自由に含めることができます。これは潜在的なセキュリティ侵害を表しているため、どうしても必要な場合を除き、これをオフにする必要があります。 safe_modeは、PHP 6のリリースで削除される別のPHPオプションです。これはほとんど効果がなく、おそらく使用しないでください。最後のオプション、session.save_pathは、PHPのセッションが保存される場所を制御します。ほとんどの場合、デフォルトで問題ありません。

enter image description here

このオプションを変更する場合は、ここをクリックしてテキストフィールドを表示する必要があります。

3)完了したら、[保存]をクリックします。

enter image description here

Php.iniファイルは自動的に書き込まれました。

enter image description here

これで、WHM内からPHPを構成する方法がわかりました。

6
HMagdy

設定max_input_time(Apacheの場合)サイズに関係なく、ポストデータを待機する時間を定義する多くのWebサーバー用。この時間がなくなると、PHPに触れることなく接続が閉じられます。

したがって、問題は必ずしもphpのみで解決できるわけではありませんが、サーバーの設定も変更する必要があります。

6
bardiir

実行時間とファイルサイズを増やすには、.htaccessファイルの値を以下に記載する必要があります。それが動作します。

php_value upload_max_filesize 80M
php_value post_max_size 80M
php_value max_input_time 18000
php_value max_execution_time 18000
0

私にとってこれは非常に簡単です:

[〜#〜] php [〜#〜]

set_time_limit(300); // Time in seconds, max_execution_time

PHP ドキュメント