Premature end of script headers :: Server Error :: Exécutionscript Perl

Si vous avez cette erreur contrôler que votre ligne

#!/usr/bin/perl

Soit plutôt comme ceci:

#!/usr/bin/perl -w

Installation de Ruby on Rails v1.9.2

Cet article résume les étapes de l'installation de Ruby on Rails sur Windows.

Première chose, téléchargement de l'installeur Windows. Celui-ci est accessible sur le site officiel de RnR.

A l'heure où cet article est redigé, la version courante du package est le rubyinstaller-1.9.2-p136.exe





Cochez 'Add Ruby executable to your PATH', ce qui met à jour automatiquement la variable d'environnement. Un redémarrage est toutefois nécessaire pour utiliser la commande Rails depuis n'importe quel répertoire.



Installation en cours




Une fois l'installation terminé, passez en mode de commande et installer les gem nécessaire à l'utilisation de Ruby







Créez ensuite un répertoire qui contiendra vos projets Ruby, dans mon cas, je l'ai installé dans le répertoire Ruby





Aller dans le dossier 'myprojects' et créer votre projet Ruby




Ceci créé la structure de base de l'application Ruby (models,vues,controllers,etc..).

Une fois ceci fait, il faut démarrer le server RnR en allant dans le dossier 'firstproject' créé et taper la commande suivante:

ruby script/rails server



Error SQLITE's

Il se peut que vous rencontriez encore des problèmes relatifs à SQLITE. Cette base étant utilisé par défaut par Ruby on Rails, si celle-ci n'est pas installé, utilisé la commande bundle install pour installer les fichiers dépendants




Si par la suite une popup win32 s'affiche vous disant que "SQLITE3.dll est introuvable", il vous manque probablement les fichiers suivants dans votre C:\Windows\system32:



sqlite3.dll
sqlite3.exe
sqlite3.def

Télécharger la dernière version de SQLite (ici 3) et installer les fichiers manquants sous votre dossier système mentionné ci-dessus. Le lien suivant donne une bonne explication de la marche à suivre.

http://mislav.uniqpath.com/rails/install-sqlite3/

A ce moment, démarrer le server Ruby à nouveau et le shell devrait vous afficher ceci:



Ensuite, ouvrez votre navigateur et taper la commande suivante:

http://127.0.0.1:3000

Vous devriez voir ceci:




Références

Je me suis inspiré de l'article suivant pour l'installation de RnR, qui explique très clairement la marche à suivre:

http://allaboutruby.wordpress.com/2006/01/09/installing-rails-on-windows-step-by-step-tutorial/

Cependant, utilisant de mon côté la version 1.9.2, deux commandes diffèrent de celles mentionnées dans le tutorial.

Celui-ci mentionne d'utiliser la commande suivante pour la création du projet

rails firsproject

Sous la version 1.9.2 que j'ai installé, celle-ci ne fonctionnait pas. Je l'ai remplacé par

rails new firstproject

Et le démarrage du server se fait dans le tutorial par la commande suivante

ruby script/server

De mon côté, j'ai suis passé par la commande

ruby script/rails server

où rails est le fichier créé dans ce dossier

Installation de PEAR sous WampServer2

J'ai trouvé un post très intéressant sur l'installation de PEAR sous WampServer2.

Je me suis basé dessus pour l'installer, celui-ci expliquant pas à pas la marche à suivre. Rien de bien compliqué. Merci à Damien Desrousseaux

http://www.6ma.fr/tuto/installer+pear+avec+wamp-455

Toutefois, lors de l'installation j'ai rencontré une erreur que certains avaient déjà rencontrés. L'erreur se produit lors de l'étape consistant à éxécuter le fichier go-pear.bat en mode ligne de commande.

C:\wamp\bin\php\php5.3.0>go-pear.bat
phar "C:\wamp\bin\php\php5.3.0\PEAR\go-pear.phar" does not have a signaturePHP W
arning: require_once(phar://go-pear.phar/index.php): failed to open stream: pha
r error: invalid url or non-existent phar "phar://go-pear.phar/index.php" in C:\
wamp\bin\php\php5.3.0\PEAR\go-pear.phar on line 1236

Warning: require_once(phar://go-pear.phar/index.php): failed to open stream: pha
r error: invalid url or non-existent phar "phar://go-pear.phar/index.php" in C:\
wamp\bin\php\php5.3.0\PEAR\go-pear.phar on line 1236
Appuyez sur une touche pour continuer...

Après plusieurs recherches sur le net, la solution a été trouvé sur le forum http://www.wampserver.com/phorum/read.php?1,59451

Le fix consiste à remplacer dans le fichier .bat la ligne

%PHP_BIN% -d output_buffering=0 PEAR\go-pear.phar

par

%PHP_BIN% -d output_buffering=0 -d phar.require_hash=0 PEAR\go-pear.phar


Pourquoi cette erreur ?

Après m'être attardé queqlues instants sur la documentation officielle PHP, le problème est devenue moins floue.

L'erreur :

go-pear.phar" does not have a signaturePHP

indique que l'archive .phar ne possède pas de signature numérique valide (MD5, SHA1, SHA256 et SHA512). Ce qui a pour effet que l'installation est rejetée.

La commande require_hash=0 permet donc d'accepter une archive sans signature valide.

Gestion du chemin d'accès relatif dans un projet web

Le bout de code suivante permet de déterminer le chemin d'accès à partir de la racine du répertoire web d'un site.

Je l'ai développé afin de ne pas être confronté aux problèmes des include_once/require_once qui plante lorsque ceux-ci sont appelés en différents endroits et niveaux de répertoires du site.

La constante BASEPATH est initialisée avec le chemin relatif déterminé par la localisation courante stocké dans la variable globale $_SERVER["REQUEST_URI"]

Cette constante est utilisée de la manière suivante

include_once(BASEPATH."GUI_Layer/Template/pg_header_menu.php");

Consultez/testez-là et si vous y voyez une inépsie, n'hésitez pas à m'en faire part, il n'y a jamais trop de pair de yeux pour permettre de progresser dans un domaine.

/* gestion du chemin d'acces absolu */
$path = substr($_SERVER["REQUEST_URI"],1); //slash de debut
$curdir = explode("/",$path);
$iteration = count($curdir)-1;
$BASEPATH = "";
if($iteration>0){
for($i=0;$i<=$iteration-2;$i++){
$BASEPATH .= "../";
}
}

Installation du framework Zend

Voilà un bout de temps que je souhaitais me mettre à Zend. Eh bien c'est chose faite, j'ai commencé à m'y plonger sérieusement la semaine passé.

J'y avais fait une première tentative deux mois en arrière mais je n'y comprenais pas grand chose. J'ai donc repris les choses plus sérieusement et finalement tout s'est bien passé. Non sans peine.

Dans le but de tracer un historique des différentes étapes, je les mets à disposition. Si quelqu'un venait à avoir la même configuration que moi, il se pourrait que celui puisse servir.

Téléchargement du framework

Première chose à faire donc, télécharger le framework suivant Zend Framework 1.11.2 Release (r23587) sur le site officiel http://framework.zend.com/

Lien: http://framework.zend.com/releases/ZendFramework-1.11.2/ZendFramework-1.11.2.zip

C'est un fichier .zip qui peut-être décompressé n'importe où sur le disque. Plusieurs posts indiquent que celui-ci doit être installé dans le include_path de PHP. Cependant il est tout à fait possible de le stocker n'importe où dans le disque via l'utilisation de la variable d'environnement ZEND_TOOL_INCLUDE_PATH.

Pour ma part j'ai donc installer le framework dans le dossier C:\zf1112\

Installation des fichiers zf.bat & zf.php

Une fois le framework installé, déplacer les fichier zf.bat & zf.php disponible dans le répertoire C:\zf1112\bin\ dans le répertoire où se trouve le fichier php.exe. Dans mon cas, le dossier cible était le suivant:

C:\wamp\bin\php\php5.3.0

Utilisation de la variable d'environnement ZEND_TOOL_INCLUDE_PATH

A ce stade il convient de faire connaître la localisation du dossier contenant le framework. On définit pour cela une variable d'environnement ZENT_TOOL_INCLUDE_PATH que l'on ajoute dans les paramètres systèmes de Windows.



En passant il est toujours utile également d'inclure le chemin vers php.exe également dans la variable d'environnement path.




Une fois ceci fait, redémarrez la machine afin que les changements soient pris en compte par Windows. Ouvrir une invite de commande et taper la commande suivante:

zf ?

ou

zf --help

Si la boîte suivante s'affiche, contrôler que le framework et la variable d'environnement ZEND_TOOL_INCLUDE_PATH correspondent bien.




Lorsque tout se passe, en tapant la commande zf show version vous devriez voir le message suivant:



Création d'un projet ZEND

Une fois l'installation terminée, on peut démarrer la création d'un projet ZEND. Pour cela aller dans le répertoire où vous désirez créer le projet et taper la commande suivante:

zf create project zfProject



Un projet est créé par ZEND_TOOL contenant toute la structure requise comprenant entre autres Controllers, Configs et Views.

Ouverture du projet dans le navigateur

A ce stade, le projet est accessible via un browser en tapant l'adresse du projet:

http://localhost/zfProject/public/

Dans mon cas, j'ai rencontré une erreur HTTP 500, le dossier /public n'étant visible bien qu'existant dans ma structure créée par ZEND.

Après maintes recherche sur le net, j'ai pu résoudre ce problème en modifiant le fichier de configuration httpd.conf du serveur Apache pour activer le mod_rewrite. Simplement en le décommentant.

LoadModule rewrite_module modules/mod_rewrite.so

Redémarrer les services wamp et finalement la page d'accueil suivante s'affiche, signe de succès.




Finalement, ceci n'est que le point d'entrée, qu'un apéritif avant d'entrer dans le vif du sujet, la création d'un site basé sur le framework. Que de belles choses en perspective.

Perl en exérimentations



Installation de PERL sur Windows Vista
Pour la première fois je me suis mis à installer PERL. J'ai opté pour la solution Perl Strawberry me permettant directement d'installer les composants PERL nécessaire pour le faire tourner sous Windows.

L'installation n'a pas pris beaucoup de temps. Un coup de click sur le site officiel http://strawberryperl.com/, plus précisément sur le lien "Download Strawberry Perl 5.12.1.0".

Après quelques secondes, l'installation s'est fait rapidement par un double-click et les dialogues de base où les "next" s'enchaînent.

Une fois l'installation terminé, il est facile de tester si PERL a bien été installé. Ceci se fait par le biais de la ligne de commande DOS:

C:\>perl -v

Si l'installation s'est déroulé correctement, le message suivant devrait apparaître:

This is perl 5, version 12, subversion 2 (v5.12.2) built for MSWin32-x86-multi-t
hread

Copyright 1987-2010, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl". If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.


Création de mon premier script PERL

A ce stade, je suis donc prêt à commencer à créer mon premier script PERL. Un de mes chums m'avait dit que la syntaxe de PERL était proche de PHP. Bon sang, si j'avais sur que la syntaxe était aussi similaire je m'y serais pris plus tôt..En tout, mieux vaut tard que jamais.

Pour les premiers tests, j'ai décidé de lire un blog sur la syntaxe de Perl, une sorte de cours 101 relativement utile, http://www.gossland.com/course/intro/flow.html. On y trouve plusieurs exemple sur les variables, les conditions, boucles, etc.

J'ai donc créé mon premier script dans un fichier test.pl sauvé sur mon C:\, dans lequel j'y ai écrit quelques lignes de codes, du genre:

$x = 10;
$value = $x + 1;
print "value of \$value is : " . $value . "\n\n\n";

print "\n\n";
print "LOOP ARRAY\n";
print "-----------------\n\n";
@names = ("Meyer","Beliveau","Berlier");
for $name(@names){
print $name."\n";
}


J'ai pour ma part utiliser Notepad++ que je trouve agréable dufait de sa fonctionnalité de reconnaissance de langages variés, dont PERL. Notepad est tout aussi utilisable.

Ce n'est qu'un début pour commencer et j'espère bien y aller de l'avant. Pour visualiser le résultat, il est possible de passer par l'éditeur de commande DOS en se positionnant dans le dossier où le fichier se trouve. Une fois dans celui-ci, simplement exécuter la commande

C:\>perl test.pl

Et le fichier affiche le résultat du code écrit. A présent ne reste que d'aller de l'avant et continuer à expérimenter ce langage qui me séduit minute après minute.

Première commandes utiles

J'ai donc écrit quelques lignes de script et pour valider son contenu il est possible d'utiliser la commande

perl -wc test.pl

Qui permet de contrôler la syntaxe du script et vous renseigne sur les warnings/errors rencontrés lors de l'interprétation du script.