2012-01-05 18 views
14

Sto provando a caricare file di grandi dimensioni sul mio server (il mio server supporta post_max_size 192mb e max_execution_time 600 sec). Quando carico 100mb l'esecuzione dei file si interrompe dopo 600 secondi, quindi i file non vengono caricati sul server. Come posso aumentare max_execution_time in PHP (solo per il processo di caricamento del file)? Ho provato:Aumentare max_execution_time in PHP?

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

Qualche idea su come posso superare questo?

+1

Cosa * esattamente * accade dopo 600 secondi? Quale messaggio di errore ottieni? Il tempo di caricamento non conta rispetto al limite di tempo di PHP –

+1

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

+0

@Ajay Chthri: per il caricamento alcuni file di grandi dimensioni si può provare con qualche uploader come java applet uploader –

risposta

5

C'è un'impostazione max_input_time (su Apache) per molti server Web che definisce quanto a lungo aspetteranno i dati dei post, indipendentemente dalle dimensioni. Se questo tempo si esaurisce la connessione viene chiusa senza nemmeno toccare il php.

Quindi il tuo problema non è necessariamente risolvibile solo con php, ma dovrai anche modificare le impostazioni del server.

+0

sì .... quando scade il tempo allora lo script non può funzionare –

+0

solo ora controllo il mio supporto del server max_execution_time 30 mints ma quando carico file il processo di file da 30 mb si fermerà dopo 10 mints (i querys sono non eccitato) –

+0

Non è il tempo di esecuzione di cui devi preoccuparti, è il tempo di immissione. Se potessi caricare quei 30mb in meno di 10 minuti, verrebbe eseguito. Se caricassi solo 200kb e avessi bisogno di 11 minuti, non verrebbe eseguito. Non dipende dal tempo di esecuzione o di archiviazione in questo momento, dipende dal tempo necessario per caricare il file. – bardiir

28

Aggiungere questo in un file .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> 

Per saperne di più su queste impostazioni in http://www.pacecode.com/blog/2008/09/22/magic-with-htaccess-file-increase-execution-time-session-expiry-time-and-file-upload-size-limit

EDIT

Sembra che il contenuto di questo articolo originale è stato riprodotto qui : http://www.rajamm.info/2008/09/22/magic-with-htaccess-file-increase-execution-time-session-expiry-time-and-file-upload-size-limit

+1

Link down ............................ – Pacerier

+0

Grazie, aggiornato. –

+0

Oppure modifica semplicemente questi valori direttamente nel tuo file 'php.ini'. –

4

se si ha accesso a WHM è possibile eseguire questi passaggi:

A un certo punto nel tempo, sarà probabilmente necessario regolare le opzioni di configurazione di PHP. Invece di modificare manualmente il file PHP.ini, puoi farlo da WHM. 1) Trova il menu di configurazione del servizio.

enter image description here

2) Fare clic PHP Editor di configurazione. enter image description here

Questo editor ha due modalità: Base e Avanzata. Per poter accedere alla più ampia gamma di opzioni, è necessario utilizzare la modalità avanzata. È disponibile facendo clic sul pulsante nella parte superiore della pagina.

enter image description here

Si consiglia di attendere per modificare le impostazioni avanzate finché non si è certi di sapere cosa si sta facendo. Se desideri ulteriori informazioni su un'impostazione, fai clic su un link nella colonna Sezione per accedere alla documentazione di PHP. La prima opzione in Modalità base è upload_max_filesize, che limita la dimensione massima di un file caricato tramite PHP. Questa opzione influirà sul sistema di allegati o upload di un'ampia varietà di software che probabilmente verrà eseguito sul server, inclusi Joomla e vBulletin. Probabilmente vorrai cambiarlo in qualcosa di un po 'più alto del default. Specificare una dimensione in megabyte usando un numero seguito da M. Raramente sarà necessario modificare l'include_path dal valore predefinito. Oltre a limitare la dimensione massima di caricamento, è anche possibile disattivare del tutto il caricamento file con l'impostazione file_uploads. Alcuni programmatori PHP hanno la brutta abitudine di usare tag di stenografia, che non sono abilitati su molti server. Ciò significa che i loro script non funzioneranno. Abilita asp_tags se incontri degli script che richiedono quel tipo di tag.

enter image description here

Con memory_limit, è possibile imporre un limite alla quantità di memoria un particolare script PHP può utilizzare in qualsiasi momento. L'abilitazione di register_globals non è raccomandata se non strettamente necessario. È la fonte di molti problemi di sicurezza e verrà rimosso completamente al rilascio di PHP 6. L'impostazione max_execution_time impedisce agli script scritti male di legare il server. Per impostazione predefinita, questa opzione è impostata su 30 secondi; non metterlo troppo in alto o le prestazioni del tuo server potrebbero risentirne. Allo stesso modo, max_input_time pone un limite per quanto tempo uno script è autorizzato ad analizzare i dati di input, come moduli e upload di file.

enter image description here

Con enable_dl, tutti gli utenti possono includere estensioni PHP a volontà. Ciò rappresenta una potenziale violazione della sicurezza, quindi è necessario disattivarlo a meno che non sia assolutamente necessario. safe_mode è un'altra opzione PHP che verrà rimossa con il rilascio di PHP 6. È in gran parte inefficace e probabilmente dovrebbe essere lasciata fuori. L'ultima opzione, session.save_path, controlla dove vengono salvate le sessioni di PHP. L'impostazione predefinita dovrebbe essere accettabile per la maggior parte degli scopi.

enter image description here

Se si desidera modificare questa opzione, sarà necessario fare clic qui per il campo di testo appaia. 3) Al termine, fare clic su Salva.

enter image description here

Il file php.ini è stato scritto automaticamente.

enter image description here

Questa è la fine del tutorial. Ora sai come configurare PHP dall'interno di WHM.

0

Per aumentare il tempo di esecuzione e le dimensioni del file, è necessario menzionare i valori sotto nel file .htaccess. Funzionerà.

php_value upload_max_filesize 80M 
php_value post_max_size 80M 
php_value max_input_time 18000 
php_value max_execution_time 18000 
Problemi correlati