settaggio errori su sito online (produzione)
Ciao a tutti,
Vorrei impostare un file di log che registri gli errori PHP per il mio sito web. Leggendo il manuale ufficiale PHP e nello specifico qui: http://www.php.net/manual/en/errorfu...#ini.error-log, e varie guide online, ho visto che la priorità viene data rispettivamente in quest'ordine:
1) alle direttive impostate tramite file php.ini - che ha la priorità massima, poi
2) alle direttive impostate nel virtual host, cioè agendo sul file httpd.conf
3) alle direttive impostate tramite il file .htaccess ed infine
4) solo successivamente alle direttive impostate "runtime" tramite un file php che utilizza le funzioni error_reporting() e ini_set(). File che andrà inserito poi in tutte le pagine web che si desidera.
Ora mi sono creato un semplice file di testo vuoto che ho chiamato error_log2 poi l'ho caricato via FTP come tutte le pagine web che creo, sul mio sito che ho qui su altervista.org, ed infine mi sono creato un file php che includo in una mia pagina online per provare, in questo modo:
<?php
include 'err_produ.php;
?>
Con questo script vorrei memorizzare tutti gli errori, MA NON MOSTRARLI A VIDEO OVVIAMENTE, come faccio con XAMPP in locale, ovvero in fase di sviluppo, ed invece registrarli sul file di cui sopra.
Ora accedendo al mio sito da altervista, vedo che su tale file mi viene mostrato questo errore:
Warning: ini_set() [function.ini-set]: SAFE MODE Restriction in effect. The script whose uid is 1979513 is not allowed to access / owned by uid 0 in /membri/mio_sito/err_produ.php on line 19
Ed infatti sul file di testo NON si registra NULLA!.
Ecco lo script err_produ.php :
Codice PHP:
<?php
/*
Report all errors.
The default value set in php.ini is E_ALL & ~E_NOTICE or E_ALL ^ E_NOTICE, which is exactly the same.
This setting does not show E_NOTICE level errors.
You may want to show them during development.
*/
error_reporting(E_ALL);
ini_set('display_errors', 0);
ini_set('display_startup_errors',0);
ini_set('log_errors', 1);
ini_set('log_errors_max_len', 0);
ini_set('ignore_repeated_errors', 1);
ini_set('ignore_repeated_source', 1);
ini_set('report_memleaks', 1);
ini_set('track_errors', 1);
ini_set('error_log', '/error_log2');
?>
Grazie a tutti in anticipo.
Ciao