2012-01-05 26 views
14

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

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

どのように私はこれを克服できますか?

+1

*正確に*は600秒後に発生しますか?どのエラーメッセージが表示されますか?アップロード時間はPHPの制限時間に含まれません –

+1

['set_time_limit()'](http://php.net/manual/en/function.set-time-limit.php) – bfavaretto

+0

@Ajay Chthri:アップロード用いくつかの大きなサイズのファイルを使用すると、アップルのアップローダーのようなアップローダーで試すことができます –

答えて

5

サイズにかかわらず、ポストデータを待つ時間を定義する多くのウェブサーバーの設定はmax_input_time(Apache上)です。この時間が経過すると、PHPに触れることなく接続が閉じられます。

だからあなたの問題は、必ずしも唯一のPHPで解くことができないですが、あなたはあまりにもサーバーの設定を変更する必要があります。

+0

はい....時間が切れるとスクリプトが動作しません –

+0

今私は私のサーバーサポートをチェックしますmax_execution_time 30ミントですが、ファイルをアップロードすると30 MBのファイルプロセスは10ミント後に停止します(クエリーは –

+0

あなたが心配する必要がある実行時間ではなく、入力時間です。あなたは10分未満で30メガバイトをアップロードすることができた場合、それは実行されます。あなたが200kbだけをアップロードし、それに11分必要ならば、それは実行されません。この時点では、ファイルサイズや実行時間に依存しません。ファイルをアップロードする必要がある時間によって異なります。 – bardiir

28

の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-limit

EDIT

でこれらの設定についての詳細を読みます:http://www.rajamm.info/2008/09/22/magic-with-htaccess-file-increase-execution-time-session-expiry-time-and-file-upload-size-limit

+1

リンクダウン............................ – Pacerier

+0

ありがとうございました。 –

+0

また、これらの値を 'php.ini'ファイルで直接変更してください。 –

4

あなたはこれらの手順流れることができるWHMへのアクセスがある場合:ある時点で

を、あなたはおそらくPHPの設定オプションを調整する必要があります。 PHP.iniファイルを手動で編集するのではなく、WHM内から手動で編集することができます。 1)[Service Configuration]メニューを見つけます。

enter image description here

2)PHPの設定エディタ]をクリックします。基本と高度な - 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は、フォームやファイルのアップロードなど、スクリプトが入力データを解析できる時間の長さを制限します。 enable_dlで

enter image description here

、すべてのユーザーが自由にPHP拡張を含めることができます。これは潜在的なセキュリティ侵害を意味するので、絶対に必要でない限りこれをオフにする必要があります。 safe_modeは、PHP 6のリリースで削除されるもう1つのPHPオプションです。これはほとんど効果がなく、おそらく中止されるべきです。最後のオプションsession.save_pathは、PHPのセッションが保存される場所を制御します。ほとんどの場合、デフォルトは大丈夫です。

enter image description here

このオプションを変更したい場合は、表示されるように、テキストフィールドにはこちらをクリックする必要があります。 3)終了したら、[保存]をクリックします。

enter image description here

php.iniファイルが自動的に書き込まれています。

enter image description here

これはチュートリアルの最後です。 WHMの中からPHPを設定する方法が分かりました。

0

実行時間とファイルサイズを増やすには、以下の値を.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