2012-01-10 19 views
7

Ho una pagina che consente agli utenti di caricare immagini.Override di php.ini sul server

Viene restituito un errore 500 quando l'utente tenta di caricare immagini più grandi però.

il seguente codice ...

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

... rendimenti:

100M 
100M 
60 
3600 

Sto indovinando da questo che è il max-input-tempo che sta causando il problema come i' ho testato con file sotto i 100 MB ma impiegando più di 60 secondi per caricarli.

Non ho accesso con il mio host al file php.ini, quindi posso ignorare queste impostazioni? Ho provato ad aggiungere un file htaccess ma non sono sicuro di averlo inserito nel posto giusto.

risposta

15

mettere un file .htaccess nella cartella principale del tuo sito web (dove lo script php è) e aggiungere i seguenti valori:

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

Naturalmente, si può mettere altri limiti di dimensione e di tempo. Questo dovrebbe funzionare

+0

OK, quindi l'ho fatto e ho impostato valori elevati pazzeschi per essere sicuro e ancora senza gioia. Potrebbe essere qualcos'altro? – Tom

+0

Se si è in hosting condiviso (e molto probabilmente non si può cambiare il tuo php.ini), potrebbe accadere che il tuo provider di hosting non permetta a php.ini di essere sovrascritto usando .htaccess. In tal caso, basta chiedere loro come farlo. –

+0

Inoltre, all'interno del tuo file php puoi inserire: ini_set ('upload_max_filesize', '20M'); ecc ... solo per essere sicuro di non aver inserito il tuo .htaccess nel posto sbagliato. –

1

L'impostazione delle direttive php ini dipende dalla natura della configurazione del proprio fornitore di servizi. Esegui uno script phpinfo() per verificare la tua configurazione. Se il tuo provider sta iniziando PHP usando suPHP in un contesto UID utente, potrebbe cercare php.ini nella directory dello script. This è come funziona per il mio provider di hosting.