Pb codage include_path dans php.ini

Cyclurba
WRInaute discret
WRInaute discret
 
Messages: 157
Inscription: 29 Mar 2005

Pb codage include_path dans php.ini

Message le Sam Oct 15, 2005 19:15

je viens de changer d'hebergeur, de passer de Free vers 1&1.

Le probleme est que mes include ne fonctionnent plus, car le repertoire "include" n'est pas codé dans l'include path.

Je voudrais, comme chez Free, que le repertoire "include" à la racine du site, soit le repertoire par defaut des includes.

Que faut-il coder dans php.ini ?

Si on modifie php.ini, la modif est prise en compte immediatement, ou faut-il relancer php ?

Enfin, chez 1&1, pas de faq et support technique muet...

fredsoft
WRInaute discret
WRInaute discret
 
Messages: 242
Inscription: 26 Jan 2003

Message le Sam Oct 15, 2005 19:56

bonjour

déja si vous êtes en mutualisé vous n'aurez pas accés a php.ini. Ensuite faut voir la conf exsitante de php.ini, sur le principe si vous avez ces erreurs c'est que c'est mal codé, il faut toujours includer en dur avec les fullpaths pour passer en safe mode notamment

Cyclurba
WRInaute discret
WRInaute discret
 
Messages: 157
Inscription: 29 Mar 2005

Message le Sam Oct 15, 2005 20:03

autrement dit, tu m'expliques que ce n'est pas bien de coder avec un repertoire include ? Le probleme est que l'appel aux fichiers par la fonction include ne se fait pas toujours au meme niveau (gestion des "../../repert...", adressage relatif),
et que l'on ne peut pas utiliser l'adressage absolu car le fichier serait considéré comme externe.

J'ai créé un fichier php.ini, et je vois mes modifs avec info(), et le message d'erreur correspond au repertoire indiqué dans info().

extrait :
Code: Tout sélectionner
safe_mode   Off   
safe_mode_exec_dir   /usr/local/php/bin   
include_path   .:/usr/local/lib/php:/include:/usr/local/lib/php/include   


execution d'une fonction include :

Code: Tout sélectionner
Warning: main(constant_prive.php): failed to open stream: No such file or directory in /homepages/18/d140142221/htdocs/index.php on line 4

Fatal error: main(): Failed opening required 'constant_prive.php' (include_path='.:/usr/local/lib/php:/include:/usr/local/lib/php/include') in /homepages/18/d140142221/htdocs/index.php on line 4

j'y pige quedalle dans les repertoires unix


spout
WRInaute accro
WRInaute accro
 
Messages: 4377
Inscription: 14 Mai 2003

Message le Dim Oct 16, 2005 0:07

Code: Tout sélectionner
if(!defined('PATH_SEPARATOR')){
   //MS Windows trick
   define('PATH_SEPARATOR', ( substr(PHP_OS, 0, 3) == 'WIN' ) ? ';' : ':');
}

$include_path = array('.', '/home/user/includes/');
ini_set('include_path', join(PATH_SEPARATOR, $include_path));

Cyclurba
WRInaute discret
WRInaute discret
 
Messages: 157
Inscription: 29 Mar 2005

Message le Dim Oct 23, 2005 20:12

désolé spoutnick, mais malgré tes indications, je ne m'en sors pas.

le probleme ne vient pas du path-separator, mais de la facon d'indiquer le repertoire include.

Cyclurba
WRInaute discret
WRInaute discret
 
Messages: 157
Inscription: 29 Mar 2005

Message le Sam Nov 05, 2005 16:33

j'ai fini par obtenir la solution, apres de nombreux aller-retour de mail avec 1&1.
Leur faq est enfin en place, mais bien vide. J'ai du mal à croire à leur professionnalisme.

Il faut ajouter un fichier php.ini sur chaque repertoire avec dedans :

include_path=.:/kunden/homepages/18/d140142221/htdocs/include/

bien sur en remplacant le nom du serveur par le bon. Et ça fonctionne.

Par contre, je trouve les temps de reponse moins bons que ceux de Free.

Supertoto
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 1
Inscription: 4 Nov 2005

Message le Sam Nov 05, 2005 16:56

Cyclurba a écrit:
Il faut ajouter un fichier php.ini sur chaque repertoire avec dedans :
include_path=.:/kunden/homepages/18/d140142221/htdocs/include/
bien sur en remplacant le nom du serveur par le bon. Et ça fonctionne.


Salut et merci pour ta réponse,
cependant je voulais obtenir une précision, qu'appelles-tu le nom du serveur ? comment je peux le trouver, c'est la suite de nombre ?
J'ai essayé d'obtenir le chemin en utilisant la fonction realpath, cependant j'obtiens (j'ai changé les chiffres pour la sécurité) :
/homepages/6/a142497777/htdocs/le_rep_a_inclure/

comme tu peux le constater je n'ai pas de kunden mentionner.
Quelle modification dois-je apporter à ce chemin pour que l'inclusion de mon package pear fonctionne ?

Merci d'avance.
Séb.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités