BrowsCap ini direttiva non impostato
-
19-09-2019 - |
Domanda
Sto usando la funzione get_browser()
nel tentativo di mettere in guardia le persone che il loro navigatore web non supporta Javascript. In realtà sto usando per dire loro che possono utilizzare alcune parti di un'applicazione web che sto costruendo. Ho deciso di utilizzare correttamente Javascript perché sono stanco di ascoltare gli sviluppatori che hanno paura di usarlo e ho visto qualche grande potenziale nella lingua. Sto divagando, qui è l'errore.
BrowsCap direttiva ini non impostato
Ora mi immagino questo significa che ho bisogno quacosa impostarlo php.ini. Qualcuno può darmi qualche indicazione su questo?
Soluzione
Non credo che questa sia la soluzione "migliore" per rilevare è un browser supporta quello che ti serve per il tuo sito:
- prima di tutto, i browser può mentire - possono inviare qualsiasi thay vogliono,
User-Agent
- E anche se una determinata versione di un supporto dovrebbe sostenere quello che ti serve, Javascript può ancora essere disattivato.
- In secondo luogo, ci sono più modo "corretto" per rilevare che un browser può fare o no, quando si tratta di Javascript.
Per il secondo punto, si dovrebbe verificare se il browser supporta in realtà ciò che è necessario -. E non fare affidamento su un elenco come il BrowsCap uno
Ancora, per rispondere alla tua domanda su browscap
: c'è una nota nella parte inferiore della pagina di manuale per get_browser
che dice ( citando) :
Nota: Al fine di far funzionare tutto questo, il tuo configurazione
browscap
modificando in php.ini deve puntare al corretta posizione delbrowscap.ini
file nel sistema.browscap.ini
è Non bundle con PHP, ma si possono trovare un up-to-date »php_browscap.ini
il file qui.
Mentrebrowscap.ini
contiene informazioni su molti browser, si basa su aggiornamenti all'utente di tenere il corrente del database. Il formato del file è piuttosto chiara.
Quindi, è necessario:
- scarica il file BrowsCap,
- e impostare la direttiva
browscap
nel filephp.ini
, in modo che punti al file scaricato.
Altri suggerimenti
So che questo argomento è vecchio, ma si può usare qualcosa come:
<noscript>JavaScript must be enabled</noscript>
per visualizzare se non è abilitato JavaScript.
È possibile controllare il browser usando classe Browser scaricarlo da Github
Configurazione
include(/your-path/Browser.php);
$browser = new Browser();
if( $browser->getBrowser() == Browser::BROWSER_IE && $browser->getVersion() >= 8 )
{
echo "Your browser is Internet explorer version 8";
}
C'è un bug in PHP che può anche provocare questo errore quando il vero problema è che il server non riesce a leggere il file BrowsCap (ad esempio, se è di proprietà di root invece di www-data). Vedere https://bugs.php.net/bug.php?id=74501