2012-01-10 15 views
7

私はユーザーが画像をアップロードできるページを持っています。サーバー上のphp.iniを無効にする

ユーザーが大きな画像をアップロードしようとすると、500エラーが返されます。

次のコード...

<?php echo ini_get("upload_max_filesize"); 
echo ini_get("post_max_size"); 
echo ini_get("max_input_time"); 
echo ini_get("max_execution_time"); 
?> 

...リターン:

100M 
100M 
60 
3600 

私はそれが私が「と問題を引き起こしている最大入力時だということをこのことから推測しています100MB以下のファイルでテストしましたが、アップロードには60秒以上かかっています。

私のホストでphp.iniファイルにアクセスできないため、これらの設定を上書きできますか? htaccessファイルを追加しようとしましたが、正しい場所に配置しているかどうかはわかりません。

答えて

15

Webサイトのルートフォルダに.htaccessファイルを置く(PHPスクリプトがどこにあるか)と、次の値を追加します。もちろん

php_value upload_max_filesize 100M 
php_value post_max_size 100M 
php_value max_execution_time 200 
php_value max_input_time 200 

を、あなたは他のサイズと時間の制限を置くことができます。それはうまくいくはずです。

+0

OKだから、私はそれをして、確かめて喜びを感じるために狂気の高い値を設定しました。それは別のものになることができますか? – Tom

+0

あなたが共有ホスティングをしている場合(あなたがphp.iniを変更できない可能性が高い場合)、ホスティングプロバイダは.htaccessを使用してphp.iniを上書きすることを許可しません。その場合は、その方法を尋ねてください。 –

+0

また、あなたのPHPファイルの中に次のものを置くことができます:ini_set( 'upload_max_filesize'、 '20M'); etc ... .htaccessを間違った場所に置かなかったことを確認するだけです。 –

1

php iniディレクティブの設定は、サービスプロバイダの設定の性質によって異なります。 phpinfo()スクリプトを実行して、構成を確認します。プロバイダがユーザUIDコンテキストでsuPHPを使用してPHPを起動している場合、スクリプトのディレクトリにphp.iniがある可能性があります。 Thisは私のホスティングプロバイダでどのように動作するのですか?

関連する問題