IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Problème de path suite à un changement de serveur


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 9
    Points : 4
    Points
    4
    Par défaut Problème de path suite à un changement de serveur
    Bonjour,

    Je dois effectuer le changement de serveur d'un site.

    La page index.php possède à son entête les lignes suivantes :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
          require_once('path.php');
          require_once('Utils.php');
          require_once('RubriquePageEditeur.php');
          require_once('SousRubriquePageEditeur.php');
          require_once('PageEditeur.php');
          require_once('Actualite.php');

    Le fichier path.php à la racine est composé de ceci :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
          ini_set('include_path', $_SERVER['DOCUMENT_ROOT'] . '/lib' . PATH_SEPARATOR . ini_get('include_path'));
    ini_set('include_path', $_SERVER['DOCUMENT_ROOT'] . '/lib/pear' . PATH_SEPARATOR . ini_get('include_path'));
          ini_set('include_path', $_SERVER['DOCUMENT_ROOT'] . '/includes' . PATH_SEPARATOR . ini_get('include_path'));

    Sur l'ancien hébergeur comme vous vous en doutez tout fonctionnait parfaitement (mutualisé Amen), malheureusement sur le nouveau serveur (dédié Gentoo OVH), voici l'erreur qui apparait au lancement de la page index.php :


    Warning: require_once(Utils.php) [function.require-once]: failed to open stream: No such file or directory in /home/liguegol/www/index.php on line 3

    Fatal error: require_once() [function.require]: Failed opening required 'Utils.php' (include_path='/home/ovh/www/includes/:/home/ovh/www/lib/pear/:/home/ovh/www/lib/:.:/usr/share/php5') in /home/liguegol/www/index.php on line 3

    Merci d'avance pour votre aide.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Points : 1 177
    Points
    1 177
    Par défaut
    Salut,

    ou se trouve tes fichiers :
    require_once('Utils.php');
    require_once('RubriquePageEditeur.php');
    require_once('SousRubriquePageEditeur.php');
    require_once('PageEditeur.php');
    require_once('Actualite.php');

    a priori il faut que tu ajoutes le chemin dans ton path.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Ca se trouve dans lib/

    Merci pour ton aide en tout cas.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Points : 1 177
    Points
    1 177
    Par défaut
    Pourquoi tes fichiers sont dans /home/ovh/www/lib au lieu de /home/liguegol/lib/
    il me semble que se sont des fichiers propres a ton application.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Tout a fait mais les lignes de code son pourtant identiques d'un serveur à l'autre.

    Sur l'un ca marche, sur l'autre non...

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Points : 1 177
    Points
    1 177
    Par défaut
    Est-ce que tu es sur que tes fichiers se trouvent bien dans :
    /home/ovh/www/lib
    ton code parait bon.

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Et non il se trouve dans /home/liguegol/www/lib/

    Mais comment modifier ça ?

  8. #8
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Points : 1 177
    Points
    1 177
    Par défaut
    Il y a plusieurs facon de faire mais le mieux c'est peut-etre de creer un constante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    define('ROOT_DIR', '/home/liguegol/www');
    ini_set('include_path', ROOT_DIR . '/lib' . PATH_SEPARATOR .ini_get('include_path'));
    ini_set('include_path', $_SERVER['DOCUMENT_ROOT'] . '/lib/pear' . PATH_SEPARATOR . ini_get('include_path'));
          ini_set('include_path', $_SERVER['DOCUMENT_ROOT'] . '/includes' . PATH_SEPARATOR . ini_get('include_path'));

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Merci beaucoup mon problème est en grande partie résolu.

    Cependant une dernière erreur persiste en ayant adopté ta proposition.

    Les url des includes ne fonctionnent plus.

    menu.php se trouve dans includes/

    Il est inclue dans la page index.php qui lui est sur la racine

    Dans se ce menu se trouve un lien vers l'Actualité, actualites.php se trouve dans actualites/actualites.php, il est affiché dans menu.php de la manière suivante :

    <dt><a href="../actualites/actualites.php">Actualit&eacute;s</a></dt>
    Seulement comme il est en relatif, depuis la page index.php, il va chercher dans le fichier parent qui fatalement n'existe pas.

    Mais sur l'ancien serveur il redirigé au bon endroit...

    Une idée, avant que je me décide de tout modifier ?

  10. #10
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Points : 1 177
    Points
    1 177
    Par défaut
    A mon avis les problemes ne sont pas liés, en faite auparavant tout etait configuré dans ta conf apache ou ton php.ini maintnant tu dois tout reconfigurer.

Discussions similaires

  1. Google Analytics: problème suite à changement de serveur
    Par Mathieu92130 dans le forum APIs Google
    Réponses: 1
    Dernier message: 29/07/2010, 00h38
  2. Réponses: 2
    Dernier message: 27/11/2007, 10h42
  3. Problème d'accent suite changement de serveur
    Par f1vincent dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 06/04/2007, 16h41
  4. problème d'état suite à changement de version
    Par moicats dans le forum Access
    Réponses: 4
    Dernier message: 11/04/2006, 16h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo