DEFINIR URL

Petit nouveau ! | 2 Messages

10 oct. 2012, 18:58

Bonjour,

J'utilise une application nommée FENGOFFICE sur easyphp en local (127.0.0.1) ; je l'utilise au lycée sur un poste professeur ; les élèves utilisent cette application de leur poste en utilisant l'ip de l'ordinateur prof. J'ai fait un raccourci et cela fonctionne si je mets dans le fichier config de fengoffice l'adresse IP Prof. Le problème que j'ai est le suivant :

Je sauvegarde tout sur une clé et je corrige tout cela chez moi mais à chaque fois, je suis obligé de modifier l'adresse IP du fichier config de fengoffice pour pouvoir lire les travaux effectués . Existe-t-il un moyen pour remédier à cela, indiquer 2 urls ???? Pouvez-vous m'aider

Le fichier est codifié de cette manière (172.16.201.100 est l'ip du poste prof) :

<?php
define('DB_ADAPTER', 'mysql');
define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_PASS', '');
define('DB_NAME', 'fengofficea2');
define('DB_PERSIST', true);
define('TABLE_PREFIX', 'og_');
define('DB_ENGINE', 'InnoDB');
define('ROOT_URL', 'http://172.16.201.100/FENGOFFICE_A2');
define('DEFAULT_LOCALIZATION', 'en_us');
define('COOKIE_PATH', '/');
define('DEBUG', false);
define('SEED', '36a820076cddbcc79f07a42eeefe9566');
define('DB_CHARSET', 'utf8');
return true;
?>

Eléphant du PHP | 267 Messages

11 oct. 2012, 12:38

salut,

as-tu essayé comme ceci :
define('ROOT_URL', 'http://localhost/FENGOFFICE_A2');
ou :
define('ROOT_URL', 'http://127.0.0.1/FENGOFFICE_A2');

@+
dix2

Eléphant du PHP | 267 Messages

11 oct. 2012, 12:40

ou sinon tu peux faire un dump sql (avec heidiSQL par exemple)
comme ça tu touches pas aux fichiers de config

pgomes
Invité n'ayant pas de compte PHPfrance

11 oct. 2012, 13:58

Je ne sais pas si j'ai été clair mais en indiquant localhost ou 127.0.0.1 define('ROOT_URL', 'http://localhost/FENGOFFICE_A2'), cela fonctionne sur mon poste prof mais le problème c'est que les élèves doivent y accéder par l'ip du poste prof et non pas 127.0.0.1 ; il faudrait ajouter 2 urls.

sinon, pourrais tu m'indiquer la manip à faire avec dump sql
A vrai dire, je préférerais juste modifier le fichier config avec 2 urls si c'est possible
Merci
Pierre

ViPHP
ViPHP | 2577 Messages

11 oct. 2012, 14:16

Il est possible de paramétrer "include_path" de ton PC pour avoir un répertoire que tu mets en premier et faire un include d'un fichier qui se trouve dans ce répertoire avec la bonne url et un autre dans le même répertoire que le fichier avec les define.
En fonction de la machine ce ne sera pas le même fichier de prix en compte.

Tu peux aussi faire :
define('ROOT_URL', 'http://'.$_SERVER["SERVER_ADDR"].'/FENGOFFICE_A2');
(ou voir si dans les variables $_SERVER il y en a une qui permet de faire la différence.

pgomes
Invité n'ayant pas de compte PHPfrance

11 oct. 2012, 15:22

Bonjour,

Merci pour ta réponse
Ton conseil à savoir define('ROOT_URL', 'http://'.$_SERVER["SERVER_ADDR"].'/FENGOFFICE_A2'); me plait bien ; je l'ai testé mais il m'indique 127.0.0.1 (Cela fonctionne avec, c'est normal), je voudrais qu'il m'indique l'adresse de l'ip de mon poste perso... (à savoir 168.0... etc..) car je crains que si je le dépose au lycée, il m'indiquera la même adresse et donc les élèves ne pourront pas accéder à l'application via leur raccourci
As-tu une astuce ?

Merci
Pierre

ViPHP
ViPHP | 2577 Messages

11 oct. 2012, 15:38

A mon avis, il prend l'adresse qui est dans l'url. A vérifier en cours avec tes élèves.
Tu peux essayer avec l'adresse ip de ta connexion internet si ton serveur écoute aussi cette adresse.

Sinon, essaye $_SERVER["HTTP_HOST"] ou $_SERVER["SERVER_NAME"], mais je suis moins sur du résultat (localhost chez toi ?).

Eléphanteau du PHP | 35 Messages

11 oct. 2012, 15:44

Hello,

le plus simple est de passer par une "réelle" url non pas par les IP.

Si tu es sur windows dans le fichier C:\WINNT\system32\drivers\etc\hosts tu rajoute une ligne :
127.0.0.1 monurl.local

Si tu es sur linux tu rajoutes la même ligne dans le fichier /etc/hosts

Et ceci sur chaque pc sur lequel tu souhaites installer ton appli.
Une fois fais tu mets ton paramètre comme ceci :
define('ROOT_URL', 'http://monurl.local/FENGOFFICE_A2');
Et voilà ! ;)
La paresse est mère du génie.

pgomes
Invité n'ayant pas de compte PHPfrance

11 oct. 2012, 15:58

Je te tiens au courant ; je participe à un groupe de formateurs demain ; je n'aurais donc la réponse que Lundi

Merci
Pierre

Eléphant du PHP | 267 Messages

11 oct. 2012, 19:40

tout dépend de ce à quoi correspond la constante ROOT_URL
si c'est l'url du serveur sgbd et si les serveurs web et sgbd sont tjs sur le même poste, tu peux mettre "localhost" ou "127.0.0.1", ça fonctionnera
cette constante est utilisée par le serveur web seulement, pas par les utilisateurs