Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Overriding php.ini on server

I have a page which allows users to upload images.

It is returning a 500 error when the user tries to upload larger images though.

The following code...

<?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");
?>

...returns:

100M
100M
60
3600

I'm guessing from this that it's the max-input-time that's causing the problem as i've tested with files under 100mb but taking longer than 60 seconds to upload.

I don't have access with my host to the php.ini file, so can I override these settings? I've tried adding an htaccess file but I'm not sure I've put it in the correct place.

like image 387
Tom Avatar asked Jan 10 '12 23:01

Tom


People also ask

Where is the PHP ini file stored?

ini file is the default configuration file for running applications that require PHP. It is used to control variables such as upload sizes, file timeouts, and resource limits. This file is located on your server in the /public_html folder.


2 Answers

Setting up php ini directives depends on the nature of your service provider's configuration. Run a phpinfo() script to look at your configuration. If your provider is starting PHP using suPHP in a user UID context then it may look for a php.ini in the script's directory. This is how it works for my hosting provider.

like image 42
TerryE Avatar answered Nov 01 '22 16:11

TerryE


Put a .htaccess file in the root folder of your website (where your php script is) and add the following values:

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

Of course, you can put other size and time limits. That should work.

like image 63
Aleksandar Vucetic Avatar answered Nov 01 '22 16:11

Aleksandar Vucetic