Maison >développement back-end >Problème PHP >Que faire si Apache PHP est tronqué ?

Que faire si Apache PHP est tronqué ?

藏色散人
藏色散人original
2020-07-06 10:45:152472parcourir

La solution au code tronqué Apache PHP : commentez d'abord le code dans "php.ini" ; puis changez la langue du répertoire personnel en "AddDefaultCharset utf-8" ; puis changez la méthode d'encodage du dossier requis ; enfin, redémarrez simplement Apache.

Que faire si Apache PHP est tronqué ?

Solution pour l'affichage PHP du code tronqué et problème d'encodage interne Apache

Problème d'encodage

L'encodage par défaut de PHP est utf-8 Pendant le test, pour ne pas écrire la balise méta du code html, il n'y aura pas de caractères tronqués

E:\OpenStudy\www\CSphp
<.>Et le document d'aide que j'ai téléchargé La version html des données électroniques nécessite les paramètres gb2312

E:\OpenStudy\www\Electronic Books

Lors du démarrage de la configuration du serveur, PHP utilise la méthode d'encodage utf-8 recommandée par tout le monde

[php.ini]
default_charset = "UTF-8"

Répertoire racine du serveur :

E:\OpenStudy\www

Informations associées consultées

AddDefaultCharset 指令
说   明 当应答内容是text/plain或text/html时,在HTTP应答头中加入的默认字符集
语   法 AddDefaultCharset On|Off|charset
默认值 AddDefaultCharset Off
作用域 server config, virtual host, directory, .htaccess
覆盖项 FileInfo
状   态 核心(C)
模   块 core

Quand et seulement si le contenu de la réponse est text/plain ou text/html, cette commande ajoutera la valeur par défaut valeur dans l’en-tête de réponse HTTP Jeu de caractères. Théoriquement, cela remplacera le jeu de caractères spécifié via la balise e8e496c15ba93d81f6ea4fe5f55a2244 dans le corps du document, mais le comportement réel dépend généralement des paramètres du navigateur de l'utilisateur. AddDefaultCharset Off désactivera cette fonctionnalité. AddDefaultCharset On activera le jeu de caractères interne par défaut d'Apache, iso-8859-1. Vous pouvez également spécifier d'utiliser un autre jeu de caractères à partir de l'un des noms de jeux de caractères enregistrés par l'IANA. Par exemple :

AddDefaultCharset utf-8

AddDefaultCharset ne doit être utilisé que dans les situations suivantes : toutes les ressources textuelles utilisent le même jeu de caractères et il est très difficile de marquer leurs jeux de caractères séparément. Un exemple est l'ajout de paramètres de jeu de caractères à des ressources contenant du contenu dynamique (tels que des scripts CGI existants), ce qui peut conduire à des attaques de scripts intersites en incluant des données fournies par l'utilisateur dans la sortie. Mais attention : une meilleure solution consiste à modifier ou à supprimer ces scripts, car la définition du jeu de caractères par défaut désactivera la fonction de détection automatique du jeu de caractères du navigateur. La directive

AddCharset 指令
说明 在给定的文件扩展名与特定的字符集之间建立映射
语法 AddCharset charset extension [extension] ...
作用域 server config, virtual host, directory, .htaccess
覆盖项 FileInfo
状态 基本(B)
模块 mod_mime

AddCharset établit un mappage entre une extension de fichier spécifique et un jeu de caractères spécifique. charset est le paramètre de jeu de caractères MIME du fichier avec l'extension comme extension. Cette relation de mappage sera ajoutée de force à toutes les relations de mappage existantes et écrasera tous les mappages d'extensions d'extension existants.

AddLanguage ja .ja
AddCharset EUC-JP .euc
AddCharset ISO-2022-JP .jis
AddCharset SHIFT_JIS .sjis

Avec la définition ci-dessus, le document xxxx.ja.jis sera considéré comme un document japonais utilisant le jeu de caractères ISO-2022-JP (il en va de même pour le document xxxx.jis.ja). En plus d'informer le client du codage du jeu de caractères du document afin qu'il puisse être traduit et affiché correctement, la directive AddCharset est également utilisée pour la négociation de contenu (sélection de l'un des nombreux documents à renvoyer à l'utilisateur en fonction des informations de préférence de l'utilisateur. ).

<Directory> 指令
说   明 封装一组指令,使之仅对文件空间中的某个目录及其子目录生效
语   法 <Directory directory-path> ... </Directory>
作用域 server config, virtual host
状   态 核心(C)
模   块 core

7b799fe73e35dcfdc019b13f54de80e5 et bb15ed4aadeed04b3991578461de0768 sont utilisés pour encapsuler un ensemble d'instructions afin qu'elles ne prennent effet que sur un certain répertoire et ses sous-répertoires. Toute directive pouvant être utilisée dans la portée "répertoire" peut être utilisée. Directory-path peut être un chemin complet vers un répertoire ou une chaîne générique contenant la syntaxe de correspondance du shell Unix. Dans une chaîne générique, "?" correspond à n'importe quel caractère et "*" correspond à n'importe quelle séquence de caractères. Vous pouvez également utiliser "[]" pour déterminer les plages de caractères. Aucun des caractères génériques ci-dessus ne peut correspondre au caractère "/". Ainsi, 7c1008bdb607a11792067596d259a76e ne correspondra pas à /home/user/public_html, mais 40a4b63eece0e093aa00135ef0eac5fb Par exemple :

<Directory /usr/local/httpd/htdocs> 
  Options Indexes FollowSymLinks 
</Directory>

Soyez prudent lorsque vous utilisez les paramètres directory-path : ils doivent être cohérents avec le chemin du système de fichiers utilisé par Apache pour accéder aux fichiers. Les directives affectées à un 045149838c7e5724e5dbf0d1749bbdb2 spécifique ne prendront pas effet sur le même fichier de répertoire pointé par un chemin différent, tel qu'un chemin généré via un autre lien symbolique.

Solution

1. Commentez le code dans php.ini

[php.ini]
;default_charset = "UTF-8"

2 Changez la langue du répertoire personnel en

AddDefaultCharset  utf-8
Changez la méthode d'encodage du dossier souhaité [E:/OpenStudy/www/Electronic Books]

<Directory "E:/OpenStudy/www/Electronic Books">
  AddDefaultCharset gb2312
</Directory>

La modification est terminée, redémarrez Apache, et vous avez terminé

Pour plus de connaissances connexes , veuillez visiter le

site Web PHP chinois

 !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn