browscap ini-richtlijn niet ingesteld

Ik gebruik de functie get_browser()in een poging mensen te waarschuwen dat hun browser geen Javascript ondersteunt. Eigenlijk gebruik ik het om hen te vertellen dat ze bepaalde delen van een webtoepassing die ik aan het bouwen ben, kunnen gebruiken. Ik heb besloten Javascript op de juiste manier te gebruiken omdat ik het zat ben om te luisteren naar ontwikkelaars die bang zijn om het te gebruiken en ik heb een groot potentieel in de taal gezien. Ik dwaal af, hier is de fout.

browscap ini-richtlijn niet ingesteld

Nu kan ik me voorstellen dat dit betekent dat ik iets nodig heb om de php.ini in te stellen. Kan iemand me hier wat richting in geven?


Antwoord 1, autoriteit 100%

Ik denk niet dat dit de “beste” oplossing is om te detecteren of een browser ondersteunt wat u nodig heeft voor uw website:

  • Allereerst kunnen browsers liegen — ze kunnen alles verzenden wat ze willen als User-Agent
    • En zelfs als een bepaalde versie van een ondersteuning zou moeten ondersteunen wat u nodig hebt, kan Javascript nog steeds worden uitgeschakeld.
  • Ten tweede zijn er meer “juiste” manieren om te detecteren wat een browser wel of niet kan doen als het gaat om Javascript.

Voor het tweede punt moet je testen of de browser daadwerkelijk ondersteunt wat je nodig hebt — en niet vertrouwen op een lijst zoals de browsercap.

Toch, om je vraag over browscap: er is een opmerking onderaan de handleiding voor get_browserdie zegt (citaat):

Opmerking:Om dit te laten werken, moet uw browscapconfiguratie
instelling in php.ini moet verwijzen naar de
juiste locatie van de browscap.ini
bestand op uw systeem. browscap.iniis
niet gebundeld met PHP, maar misschien vind je
een up-to-date »
php_browscap.ini
bestand hier.

Terwijl browscap.inibevat
informatie over veel browsers, het is
vertrouwt op gebruikersupdates om de
database actueel. Het formaat van de
bestand is redelijk duidelijk.

Dus je moet:

  • download het browsercap-bestand,
  • en stel de browscap-instructie in je php.ini-bestand in, zodat het verwijst naar het bestand dat je hebt gedownload.

Antwoord 2, autoriteit 26%

Ik weet dat dit onderwerp oud is, maar je kunt zoiets gebruiken als:

<noscript>JavaScript must be enabled</noscript>

om weer te geven als JavaScript niet is ingeschakeld.


Antwoord 3, autoriteit 5%

U kunt de browser controleren door Browser class te gebruiken en deze te downloaden van Github

Configuratie

     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";                                                                                                                                    
    }

Antwoord 4, autoriteit 4%

Er is een bug in PHP die ook in deze fout kan resulteren wanneer het echte probleem is dat de webserver het browsercap-bestand niet kan lezen (bijvoorbeeld als het eigendom is van root in plaats van www-data). Zie https://bugs.php.net/bug.php?id=74501

Other episodes