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

Apache Discussion :

Alias apache et erreur require_once php


Sujet :

Apache

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 117
    Points : 67
    Points
    67
    Par défaut Alias apache et erreur require_once php
    Bonsoir,

    Je fais appel à vos lumières car je suis confronté à une erreur que je n'arrive pas à réglé.

    Je travail avec wamp et utilise apache 2.4.2. Le site sur le quel je suis est hébergé sur un lecteur F: et j'y accède par vhost.

    J'essaye d'inclure par alias mes classes perso php (pour les partager entre les différents projets).

    Le résultat : j'accède bien à mon dossier virtuel lorsque je tape dans mon navigateur backoffice.monsite.fr/library/mylibs, par contre je me retrouve avec ces deux erreurs php lorsque j'utilise un require_once :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: require_once(/library/mylibs/database.class.php): failed to open stream: No such file or directory in F:\Projects\MonSite\BackOfficev1\Sources\index.php on line 9
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fatal error: require_once(): Failed opening required '/library/mylibs/database.class.php' (include_path='.;C:\php\pear') in F:\Projects\MonSite\BackOfficev1\Sources\index.php on line 9
    A la ligne 9 de mon script php, j'ai simplement cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    require_once("/library/mylibs/database.class.php");
    Sinon, dans mon fichier httpd-vhosts.conf, j'ai cette configuration :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <VirtualHost *:80>
    	DocumentRoot "F:/Projects/MonSite/BackOfficev1/Sources/"
    	ServerName backoffice.monsite.fr
    	<Directory "F:/Projects/MonSite/BackOfficev1/Sources/">
    		Options All
    		AllowOverride All
    		Require all granted
    	</Directory>
    	Alias /library/mylibs/ "F:/Projects/MyProjects/MyLibs/Sources/php/"
    	<Directory "F:/Projects/MyProjects/MyLibs/Sources/php/">
    		Options All
    		AllowOverride All
    		Require all granted
    	</Directory>
    </VirtualHost>
    De quoi pourrait venir ce problème ?

    Merci par avance pour vos réponses.

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Les fonctions require* et include* font des accès aux fichiers en passant par le système de fichier local, pas du tout par URL. Donc pour que ton require_once passe, il faudrait que ton chemin /library/mylibs/database.class.php soit un vrai chemin système valide et reconnu. Or, comme tu es sous Windows, ça devrait plutôt être "C:\..." ou "F:\...".

    Je ne suis pas une brute en PHP mais ce que tu peux faire c'est utiliser un truc qui est décrit dans la doc officielle PHP (c'en est une bonne idée, de la lire, dis donc !) : indiquer dans l'include path du fichier php.ini le répertoire où trouver tes bibliothèques et faire un require_once sans le / devant.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 117
    Points : 67
    Points
    67
    Par défaut
    Bonsoir,

    Merci pour ta réponse. Entre temps j'ai continué de chercher et je suis tombé sur cette solution (déclaration des chemins dans le php.ini).

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Ca marche bien dans la mesure où tu as accès au fichier php.ini. Quand ton hébergement est mutualisé, là, ça marche plus

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur sous PHP MyAdmin (PMA database?)
    Par Matlight dans le forum Installation
    Réponses: 5
    Dernier message: 28/10/2010, 19h38
  2. Erreur Apache 1.3 et PHP
    Par Neuromancien2 dans le forum Apache
    Réponses: 4
    Dernier message: 23/07/2009, 11h06
  3. [Debutant] Erreur require_once('core/class_Controler.php')
    Par diaboloche dans le forum PhpMyObject
    Réponses: 15
    Dernier message: 28/08/2007, 22h47
  4. [Apache-SSL] Erreur 404
    Par GLDavid dans le forum Apache
    Réponses: 2
    Dernier message: 08/09/2004, 17h12
  5. [Apache Perl] Erreur à l'exécution de mes cgi
    Par GLDavid dans le forum Apache
    Réponses: 4
    Dernier message: 28/08/2004, 20h23

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