Domanda

Ho provato entrambi :

ini_set('include_path', '.:/usr/share/php5:/usr/share/php5/PEAR:lib:app/classes');

e anche :

php_value include_path ".:/usr/share/php5:/usr/share/php5/PEAR:lib:app/classes"

nell' .il file htaccess.

Entrambi i metodi effettivamente fare il lavoro ma solo a intermittenza.Che è, che funziona bene per circa 37 pagine richieste e quindi non riescono a circa 42 pagine richieste risultante in un require() chiamata a causa di un errore irreversibile in modo efficace blocca il sito.

Io non sono nemmeno sicuro da dove cominciare cercando di capire che cosa sta succedendo!


@cnote

Sembra che si duplicato la directory corrente nel vostro percorso di inclusione.Provare a rimuovere uno dei '.:' da una stringa.

La versione dello script è stato originariamente

ini_set('include_path', ini_get('include_path') . PATH_SEPARATOR . 'lib' . PATH_SEPARATOR . 'app' . DIRECTORY_SEPARATOR . 'classes');

e così il .:.:era venuta dal tracciato esistente:

ini_get('include_path')

Ho cercato di rimuoverlo e comunque il problema persiste.

È stato utile?

Soluzione

È venuto fuori che il problema era legato ad un bug di PHP in 5.2.5

L'impostazione di un "admin_flag" per include_path causato il percorso di inclusione vuoto in alcune richieste, e Plesk imposta un admin_flag nella configurazione di default per qualcosa o altro.Un aggiornamento di PHP risolto il problema.

http://bugs.php.net/bug.php?id=43677

Altri suggerimenti

Hai provato set_include_path()?.Come vantaggio restituisce false in caso di fallimento, che consente di almeno prendere l'avvenimento e generare alcuni significativi dati di debug.Inoltre, si dovrebbe utilizzare il costante PATH_SEPARATOR come si differenzia tra windows / *nix.

Come esempio specifico:

set_include_path('.' . PATH_SEPARATOR . './app/lib' . PATH_SEPARATOR . get_include_path());

(il get_include_path() alla fine significa che qualunque sia il vostro ini / htaccess percorso viene impostato restano)

Sembra che si duplicato la directory corrente nel vostro percorso di inclusione.Provare a rimuovere uno dei '.:' da una stringa.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top