[Opened] Pb d'installation du mini-tutoriel
Posted by andras on 10/02/2007 10:58
Bonjour à tous,
Après avoir fait un petit tour du coté de ZF, j'ai voulu tester Jelix surtout our ses aspects ACL et Authentification (LDAP notamment).
J'ai installé Jelix 1.0 beta 3 edtion déveloper. Je suis sous windows XP SP2 avec Wampserver 1.7.3.
J'ai essayé de faire marcher le mini-tuto mais je me suis heurté à des pb de path. J'ai vu qu'il y avait un autre post à ce sujet mais ça n'a pas résolu mon pb.
J'ai suivi pas à pas le tuto, j'ai créé l'appli hello sous jelix-scripts puis le module hello sous cette appli.
au lancement de http://localhost/jelix/hello/www/ le fichier lib\jelix\init.php n'est pas trouvé et en effet il manque un ../ ds le fichier application.init.php
require_once ('..\..\lib\jelix\init.php');
plutot que de modifier le application.init.php (en fait j'ai essayé mais ça à planté un peu plus loin), j'ai déplacé l'appli sous mon rep jelix (au même niveau que le rep lib).
cette fois init.php est bien trouvé mais j'ai l'erreur : Fatal error: The path, app:plugins/ given in the jelix config, doesn't exists ! in C:\Wamp\www\jelix\lib\jelix\core\jConfigCompiler.class.php on line 136
j'ai arrêté là car ça commençait à devenir confus pour moi.
[Opened] Re: Pb d'installation du mini-tutoriel
Posted by laurentj on 10/02/2007 14:30
doit y avoir un bug sous windows (on bosse sous linux, et franchement, c'est vraiment merdique PHP sous windows).
Refait le tuto. Les fichiers que tu dois éventuellement modifier, c'est le hello/www/index.php et le application.init.php. Normalement, le reste devrait être bon.
J'ai pas de windows sous la main, je regarderai le problème en profondeur plus tard.
[Opened] Re: Pb d'installation du mini-tutoriel
Posted by webseb on 10/02/2007 17:48
Bonjour Andras,
Moi j'utilise Xampp Lite (XAMPP version allégée) sous windows (Apache 2.2.4 + PHP 5.2.3 + MySQL 5.0.45) et fontionne sur clé usb entre autre : http://www.apachefriends.org/fr/xampp-wi(..)
ZIP archive : http://www.apachefriends.org/download.ph(..)
et ça fonctionne bien avec Jelix: (ma config pour développer):
E:\xamppserveur\htdocs\lib -> lib répertoire de jelix
E:\xamppserveur\htdocs -> htdocs mon répertoire www du serveur
E:\xamppserveur\htdocs\projet -> projet est mon application
basePath = "/projet/www/" -> dans le fichier : E:\xamppserveur\htdocs\projet\var\configdefaultconfig.ini.php
et
Contenu de mon index.php: E:\xamppserveur\htdocs\projet\www\index.php
//////////////////////////////////////////////////////////////
require_once ('..\..\lib\jelix\init.php');
require_once ('..\application.init.php');
require_once (JELIX_LIB_CORE_PATH.'request/jClassicRequest.class.php');
$config_file = 'index/config.ini.php';
$jelix = new jCoordinator($config_file); $jelix->process(new jClassicRequest());
//////////////////////////////////////////////////////// ////////////////////////////////////////////////////////
et dans le fichier : E:\xamppserveur\htdocs\projet\application.init.php
//////////////////////////////////////////////////////// ////////////////////////////////////////////////////////
define ('JELIX_APP_PATH', dirname (FILE).DIRECTORY_SEPARATOR); // don't change
define ('JELIX_APP_TEMP_PATH', realpath(JELIX_APP_PATH.'..\temp\projet\').DIRECTORY_SEPARATOR);
define ('JELIX_APP_VAR_PATH', realpath(JELIX_APP_PATH.'.\var\').DIRECTORY_SEPARATOR);
define ('JELIX_APP_LOG_PATH', realpath(JELIX_APP_PATH.'.\var\log\').DIRECTORY_SEPARATOR);
define ('JELIX_APP_CONFIG_PATH', realpath(JELIX_APP_PATH.'.\var\config\').DIRECTORY_SEPARATOR);
define ('JELIX_APP_WWW_PATH', realpath(JELIX_APP_PATH.'.\www\').DIRECTORY_SEPARATOR);
define ('JELIX_APP_CMD_PATH', realpath(JELIX_APP_PATH.'.\scripts\').DIRECTORY_SEPARATOR);
//////////////////////////////////////////////////////// //////////////////////////////////////////////////////// //////////////////////////////////////////////////////// ////////////////////////////////////////////////////////
ne pas oublier de créer un répertoire du non de l'application (ici 'projet' ) dans : E:\xamppserveur\htdocs\temp
Sinon crée une nouvelle application : http://jelix.org/articles/tutoriels/firs(..)
tu auras les bons chemins automatiquement dans les fichiers.
Sinon tu peux récupérer les fichiers de l'appli hello ici pour tester : http://forge.jelix.org/projects/tutors
Si tu es bloquer n'hésite pas ... Bon courage
[Opened] Re: Pb d'installation du mini-tutoriel
Posted by laurentj on 10/02/2007 23:22
@andras : j'ai pu tester sous windows. j'ai un winamp (php 5.1.2), j'ai installé jelix 1.0beta3, et suivi le tutoriel : je n'ai pas eu les problèmes de path.
en effet il manque un ../ ds le fichier application.init.php require_once ('..\..\lib\jelix\init.php');
Il n'y a pas de require_once dans le application.init.php. Je pense qu'il s'agit du index.php dont tu parles.
Repart à zéro, refait le tuto, et si le problème persiste, indique ici le contenu de ton fichier application.init.php et index.php, pour que je vois exactement ce qui cloche dans ton cas.
[Opened] Re: Pb d'installation du mini-tutoriel
Posted by andras on 10/03/2007 11:47
Merci pour vos réponses. Là j'ai un truc sur le feu donc je peux pas refaire le test à zero pour le moment. je vous tiens au courant dès que je peux.
[Opened] Re: Pb d'installation du mini-tutoriel
Posted by chris on 10/25/2007 06:30
Bonjour,
J'en profite pour poser une question qui me brule les lèvres : Quelle(s) adaptation(s) faut-il fait pour utiliser une appli jelix développée sous Linux pour la faire tourner sous Windows ? Quelles sont les contraintes de développement ?
Il y a très longtemps que je n'ai plus touché un Windows, et là, c'est une contrainte de cahier des charges.
Merci d'avance.
[Opened] Re: Pb d'installation du mini-tutoriel
Posted by Uriel C on 10/25/2007 09:25
@Chris : Ici, on a une application qui est développée sous windows, puis migrée sur un serveur de test sous linux, et enfin en prod (linux également). On a juste à changer des chemins d'accès dans le fichier de config (pour Jelix et pour notre application, nottament pour l'upload de fichiers) et ensuite tout a toujours marché sans aucun problème ici.
Les problèmes risquent plus d'apparaitre si les versions de Jelix ou de PHP sont différentes qu'en fonction de l'OS.
[Opened] Re: Pb d'installation du mini-tutoriel
Posted by Uriel C on 10/25/2007 17:18
Chez nous il me semble qu'on change juste le basePath (et encore c'est pas nécessaire si la config du serveur est bonne)
[Opened] Re: Pb d'installation du mini-tutoriel
Posted by Uriel C on 10/31/2007 09:13
Pour la question de droits/d'users/etc. :
Oui, c'est normal, c'est fait exprès. En fait, on fait souvent tourner le serveur web (donc aussi les CGI qu'il lance) avec un utilisateur spécial, généralement "nobody" du groupe "nobody". Et presque aucun fichier n'appartient à nobody. Comme ca, tant que tu ne mets pas des droits éxagémément libres (ce qu'on ne fait qu'avec précaution, comme sur le répertoire temp ici), même si un attaquant parvient à détourner un script pour éxécuter des commandes arbitraires, il ne peut quasiment rien faire.
Pour info : il existe cependant un moyen de modifier ca, qui s'appelle suPHP. Il permet, entre autres, de lancer les fichiers PHP avec le compte de leur propriétaire (avec pas mal de restrictions, genre interdire certains UID, GID, etc.). Pratique si tu fais du mutualisé et que tes utilisateurs sont responsables et ont besoin de fonctionnalités un peu avancées.
[Opened] Re: Pb d'installation du mini-tutoriel
Posted by bobi on 11/09/2007 11:33
Hello,
J'ai eu exactement la même erreur que CharlSka en suivant le mini-tutoriel.
Le problème se situe au niveau de JELIX_APP_WWW_PATH. Sous windows, on peut avoir :
JELIX_APP_WWW_PATH=D:\monprojet\jelix\/testapp/www/
Notez le \/. Du coup, jxs_getRelativePath renvoie un .. de trop.
JELIX_APP_WWW_PATH est défini dans scripts.conf.php. Après quelques échos, je découvre le vrai fautif :
- sous linux, realpath renvoie un path sans / terminal
- sous windows, realpath renvoie un path avec \ terminal
Peut-être, une solution serait de virer systématiquement un \ terminal lors du define de JELIXS_APPS_BASEPATH. Cela n'aurait aucun effet sous linux et supprimerait le problème sous windows.