2012-06-25 19 views
5

Voglio sapere dove è il posto migliore per mettere l'ini_set (funzioni), perché penso che quando la funzione ini_set si trova all'interno del metodo come questo:Dove chiamare le funzioni ini_set() nella classe?

private function archiveBackup() { 
    ini_set('memory_limit', '128M'); 
    ini_set('max_execution_time', 0); 
    ... 
} 

La funzione ini_set non funziona ?!

Il mio script funziona in questo modo: jQuery query ajax -> file ajax.php (crea un'istanza della classe e chiama qualche metodo) -> chiama il metodo della classe.

Dove si trova il posto migliore? Nel file ajax.php o all'inizio della lezione o all'interno dei metodi?

+0

Come nota a margine, ricordare che i valori ini sono impostati per l'esecuzione di quello script ora. Per ripristinare la stessa esecuzione dello script devi farlo manualmente. – Sammaye

risposta

5

In generale, il posto migliore per mettere le chiamate ini_set è proprio all'inizio (o vicino) dell'inizio dello script. In questo modo, è praticamente lo stesso che se fossero stati definiti nel file php.ini in primo luogo.

+0

Sì, ma cosa succede se l'hosting condiviso non accetta il mio file php.ini? –

+0

Funzionerà ancora. Sinceit è definito nel file PHP. Kolink è proprio come definirlo nel php.ini nel modo in cui funziona. – Sammaye

+0

Se il tuo hosting condiviso non accetta le mod di php.ini assicurati di essere autorizzato a fare ini_set. Potresti aver violato i tuoi termini e condizioni usando questo comando. – Sammaye

1

Ho notato che hai inserito ini_set all'inizio della tua funzione principale che è probabilmente corretta.

Quindi:

La funzione ini_set non funziona ?!

Potrebbe essere perché il tuo provider di hosting condiviso ha l'autorizzazione ti ha bloccato in qualche modo.

Come dice Kolink, è probabile che il provider di hosting stia utilizzando disable_functions.

0

Potrebbe essere considerata una preferenza personale, ma personalmente evito di utilizzare qualsiasi tipo di direttiva di configurazione PHP al di fuori dei file di configurazione dell'applicazione. In altre parole, se una determinata classe del mio progetto richiede una configurazione di run-level PHP specifica, noto questo requisito nella descrizione della classe, ma continuo ad applicare la configurazione stessa nei miei file di configurazione principali.

+3

Mentre sono d'accordo con le tue preferenze in generale, ci sono un paio di punti (tipicamente gli script di cron) in cui sovrascrivo alcune impostazioni di configurazione, solitamente il limite di memoria. –

+0

Non ho mai avuto un'esperienza con cron che mi richiederebbe di fare qualcosa del genere, quindi dovrò solo darti delle parole su di esso :) – brezanac

Problemi correlati