La directive de browscap pas définie
-
19-09-2019 - |
Question
J'utilise la fonction get_browser()
pour tenter d'avertir les gens que leur navigateur ne fonctionne pas avec Javascript. En fait, je l'utilise pour leur dire qu'ils peuvent utiliser certaines parties d'une application web que je construis. J'ai décidé d'utiliser correctement Javascript parce que je suis fatigué d'écouter les développeurs qui ont peur de l'utiliser et je l'ai vu un grand potentiel dans la langue. Je me éloigne du sujet, voici l'erreur.
browscap directive ini pas définie
Maintenant, j'imagine que cela signifie que je dois le mettre somthing le php.ini. Quelqu'un peut-il me donner une certaine direction sur celui-ci?
La solution
Je ne pense pas que ce soit la « meilleure » solution pour détecter est un navigateur prend en charge ce que vous avez besoin pour votre site:
- d'abord, les navigateurs peuvent mentir - ils peuvent envoyer tout Thay souhaitent
User-Agent
- Et même si une version donnée d'un support devrait soutenir ce que vous avez besoin, Javascript peut encore être désactivé.
- En second lieu, il y a plus « appropriée » pour détecter ce qu'est un navigateur peut faire ou non, en matière de Javascript.
Pour le deuxième point, vous devez tester si le navigateur prend en charge réellement ce dont vous avez besoin -. Et ne pas compter sur une liste comme le browscap un
Cependant, pour répondre à votre question sur browscap
: il y a une note au bas de la page de manuel get_browser
dit ( citant) :
Remarque: Pour que cela fonctionne, votre configuration
browscap
mise en php.ini doit pointer vers la emplacement correct dubrowscap.ini
déposer sur votre système.browscap.ini
est pas intégrée à PHP, mais vous pouvez trouver une mise à jour »php_browscap.ini
fichier ici.
Bien quebrowscap.ini
contient des informations sur de nombreux navigateurs, il repose sur des mises à jour de l'utilisateur pour maintenir le base de données actuelle. Le format du fichier est assez explicite.
, vous avez donc à:
- télécharger le fichier browscap,
- et définir la directive
browscap
dans votre fichierphp.ini
, il pointe vers le fichier que vous avez téléchargé.
Autres conseils
Je sais que ce sujet est vieux, mais vous pouvez utiliser quelque chose comme:
<noscript>JavaScript must be enabled</noscript>
pour afficher si Javascript est désactivé.
Vous pouvez vérifier le navigateur en utilisant la classe Browser télécharger à partir Github
Configuration
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";
}
Il y a un bogue dans PHP qui peut également entraîner cette erreur lorsque le vrai problème est que le serveur Web ne peut pas lire le fichier browscap (par exemple, si elle appartient à la racine au lieu de www-data). Voir https://bugs.php.net/bug.php?id=74501