[Risolto] Easyphp fatal error include_path=’.;C:\php5\pear’
Mi è capitato di aver appena reinstallato Easyphp e mi sono accorto che se provavo ad eseguire un include/require in un file php mi veniva restituito un warning ed un fatal error :
Warning: require_once(mysite/_include/before_close_head.tpl) [function.require-once]: failed to open stream: No such file or directory in I:\EasyPHP\www\mysite\index.php on line 51Fatal error: require_once() [function.require]: Failed opening required ‘mysite/_include/before_close_head.tpl’ (include_path=’.;C:\php5\pear’) in I:\EasyPHP\www\mysite\index.php on line 51
In breve Easyphp non riusciva a trovare il file da includere perché sbaglia la directory base, andando a cercare erroneamente in “C:\php5\pear”. Ora spiegherò come risolvere il problema.
Dobbiamo aprire il file di configurazione di php. Possiamo farlo o cliccando col destro sull’icona del programma nella TrayIcon (quelle icone vicino all’orologio in basso a dx nella barra di avvio) e clicckiamo su configurazione e poi su php oppure andando nella cartella dove abbiamo installato easyphp, aprendo la cartella conf_files e quindi php.ini.
A questo punto cerchiamo nel file (modifica>trova/cerca) la stringa include_path (di solito non è la prima occorrenza), finché non troviamo una porzione di codice simile a questa:
;;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;; UNIX: “/path1:/path2″
;include_path = “.:/php/includes”
;
; Windows: “\path1;\path2″
;include_path = “.;${path}\php\includes”; PHP’s default setting for include_path is “.;/path/to/php/pear”
; http://php.net/include-path
Nella penultima riga compare proprio quello che stavamo cercando :
; PHP’s default setting for include_path is “.;/path/to/php/pear”
ovvero l’impostazione predefinita per la cartella dell’include è “.;/path/to/php/pear”
Per tornare a far funzionare il tutto basta aggiungere una riga di codice; per comodità la inserisco subito sopra:
; Windows: “\path1;\path2″ ;include_path = “.;${path}\php\includes”
include_path = “.;${path}\php\includes;I:\EasyPHP\www\”
; PHP’s default setting for include_path is “.;/path/to/php/pear”
; http://php.net/include-path
La riga inserita è quella in rosso ed è molto simile alla riga subito sopra, la quale indica la corretta sintassi per il comando da inserire. Il punto e virgola che compare all’inizio di alcune righe sta ad indicare che tutta la riga sarà ignorata, infatti il ; indica un commento.
La riga che abbiamo inserito indica alcuni possibili indirizzi dove andare a cercare i files, ognuno dei quali separati da un punto e virgola.
Ho inserito alcuni indirizzi tipici di alcune versioni di easyphp ed infine, e più importante, la cartella dove ho attualmente installato easy php che nel mio caso è proprio I:\EasyPHP\www\
Quindi nel vostro caso basta inserire una riga del tipo:
include_path = “.;${path}\php\includes;${path}\php5\pear\;Unitàdisco:\Cartella di installazione di EasyPHP\www“
oppure solo
include_path = “.;Unitàdisco:\Cartella di installazione di EasyPHP\www“
dove Unitàdisco:\Cartella di installazione di EasyPHP\www va sostituito con il percorso della cartella www all’interno della cartella dove avete installato easyphp, ad esempio “c:\Easyphp 5.3.0\www” oppure “d:\Easyphp\www“ .
Un ultima cosa: fate attenzione ad inserire correttamente il backslash “\” per separare le cartelle e non lo slash normale “/”.
Commenti recenti