Maison > développement back-end > tutoriel php > Pourquoi Anchor CMS 0.8 génère-t-il une erreur « Aucun fichier d'entrée spécifié » sur un serveur CGI ?

Pourquoi Anchor CMS 0.8 génère-t-il une erreur « Aucun fichier d'entrée spécifié » sur un serveur CGI ?

Barbara Streisand
Libérer: 2024-11-10 11:01:02
original
711 Les gens l'ont consulté

Why Does Anchor CMS 0.8 Throw a

Résolution de l'erreur « Aucun fichier d'entrée spécifié » dans Anchor CMS

L'erreur « Aucun fichier d'entrée spécifié » rencontrée lors de la mise à niveau d'Anchor CMS vers la version 0.8 est issue de l'implémentation de PHP sur le serveur, notamment dans un environnement CGI.

Pour comprendre cette erreur, il est crucial de comprendre comment votre système gère les URL. Selon le fichier .htaccess fourni, votre CMS s'attend à ce que l'URL soit transmise en tant que variable PATH_INFO. Cependant, les implémentations CGI manquent de PATH_INFO, ce qui fait que PHP renvoie l'erreur susmentionnée lors de la tentative de transmission de l'URI.

Exploration des solutions :

  1. Tentative de résolution du problème :

    • Bien que possible, il est peu probable que la modification des paramètres PHP soit autorisée sur les environnements d'hébergement partagé comme GoDaddy.
  2. Approche alternative :

    • System/uri.php s'appuie sur deux types de détection d'URI : PATH_INFO et REQUEST_URI. Comme PATH_INFO pose problème dans notre cas, nous nous tournons vers REQUEST_URI.
    • Cependant, passer directement l'URI à REQUEST_URI conduit à une analyse insuffisante par parse_url(), renvoyant uniquement le chemin de l'URL.
    • Par conséquent, la seule solution viable est de modifier le noyau du CMS.

Modifications .htaccess et System/uri.php révisées :

Modifier system/uri.php :

  • Ajoutez QUERY_STRING comme premier élément du tableau à la ligne 40.

Modifiez .htaccess :

  • Modifiez RewriteRule pour transmettre l'URI sous forme de chaîne de requête :

    RewriteRule ^(.*)$ index.php?/ [L]
    Copier après la connexion

Cette solution de contournement permet de transmettre l'URI à index.php en tant que QUERY_STRING, permettant au mécanisme de détection d'URI de localisez-le. Cependant, cela nécessite également de conserver les fichiers principaux modifiés jusqu'à ce que ce problème soit résolu.

Envisagez des options CMS alternatives :

Si l'approche susmentionnée s'avère inadéquate, il peut être prudent de envisagez un CMS plus robuste et fiable qui ne rencontre pas de tels problèmes.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal