Erreur 500 lors de l'exécution d'un script CGI-Perl
Par admin, samedi 12 mars 2005 à 22:17 :: Utilisation des scripts :: #26 :: rss
Cette erreur signifie que le script ne fonctionne pas, et il peut y avoir de multiples raisons. Le mieux est de commencer par lire le log système de votre site, voici comment faire.
Connectez vous à l'interface d'administration.

Une fois connecté, cliquez sur le nom de domaine (en bas de l'écran)
Choisissez ensuite l'icône Gestion Log

Cliquez sur le fichier nommé error_log pour en voir le contenu sur une fenêtre séparée.
À droite du nom, vous voyez la taille du fichier. S'il est trop lourd pour s'afficher dans une fenêtre (> 200 Ko) le mieux est de le télécharger en cliquant sur l'icône
pour pouvoir l'examiner.
La fin du fichier indique les évènements les plus récents et peut vous aider à identifier le problème.
Voici les erreurs les plus communes
Script sauvegardé au format Windows ou Mac.
Windows, Mac et Linux utilisent chacun une façon différente de représenter un saut de ligne. Si vous sauvegardez un script CGI-Perl avec un éditeur qui ne respecte pas la façon Linux de représenter les sauts de lignes (comme par exemple Microsoft Notepad), le script ne fonctionnera pas.
Dans ce cas, vous apprécierez sûrement Editpad Lite (versions gratuite ou commerciale, uniquement en Anglais) qui permet de sauvegarder au bon format et de convertir les fichiers endommagés par notepad (menu Convert puis To Unix).
Script envoyé par FTP en mode binaire
Le fait d'envoyer un script CGI en mode binaire peut créer des problèmes. Configurez votre programme FTP pour qu'il utilise le mode ASCII pour les extensions .cgi et .pl (la plupart des logiciels FTP actuels ont ces options par défaut)
Permission incorrecte pour le script
Pour qu'un script puisse être exécuté sur le serveur, il faut qu'il possède les permissions requises.
La modification des permissions se fait par le logiciel FTP (Avec Filezilla, faire un clic droit sur le fichier voulu (coté serveur) puis choisir "Atributs du fichier"). Il faut choisir l'attribut 755
Répertoires mal indiqués
La plupart des scripts Perl doivent être configurés pour s'adapter au serveur en éditant le contenu du script lui même.
La plupart du temps, il faudra indiquer les répertoires ou le script devra travailler. Ces répertoires corresponde au chemin d'accès aux fichiers sur le serveur, pas à l'adresse du site.
Le répertoire Linux du script est :
/home/httpd/vhosts/votredomaine.com/cgi-bin
Le répertoire racine des pages html est :
/home/httpd/vhosts/votredomaine.com/httpdocs
l'URL correspondant est
http://votredomaine.com
Si les répertoires ne sont pas spécifiés correctement, le script ne fonctionnera pas.
Répertoires n'ayant pas les permissions nécessaires
Si votre script doit créer ou modifier des fichiers dans un répertoire, il faut que ce répertoire possède aussi les permissions requises. Il faut choisir l'attribut 777.
Fichiers n'ayant pas les permissions nécessaires
Si votre script doit modifier un ou des fichiers, il faut que ce(s) fichiers possèdent aussi les permissions requises. Il faut choisir l'attribut 666.
Erreur de syntaxe
Perl est un langage particulièrement pointilleux, la moindre erreur de syntaxe empêchera le fonctionnement du script. Observez soigneusement les modifications que vous avez faites.
Pour toutes ces raisons, l'usage de scripts Perl est assez complexe. Si vous avez le choix pour une même fonction entre un script Perl et un autre en PHP, il est souvent plus simple et plus rapide de choisir la version en PHP, y compris pour un utilisateur expérimenté.
Si vous n'arrivez pas à faire fonctionner un script CGI-Perl, nous pouvons l'installer pour vous, gratuitement dans les cas simples, et sur devis dans les autres cas.

Commentaires
Aucun commentaire pour le moment.
Ajouter un commentaire
Les commentaires pour ce billet sont fermés.