Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 4 sur 4
  1. #1
    Nouveau Membre du Club
    Homme Profil pro
    Inscrit en
    octobre 2009
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : octobre 2009
    Messages : 112
    Points : 32
    Points
    32

    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 :
    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 :
    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 :
    require_once("/library/mylibs/database.class.php");
    Sinon, dans mon fichier httpd-vhosts.conf, j'ai cette configuration :

    Code :
    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/Modérateur
    Avatar de _Mac_
    Inscrit en
    août 2005
    Messages
    9 417
    Détails du profil
    Informations forums :
    Inscription : août 2005
    Messages : 9 417
    Points : 10 972
    Points
    10 972

    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
    Nouveau Membre du Club
    Homme Profil pro
    Inscrit en
    octobre 2009
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : octobre 2009
    Messages : 112
    Points : 32
    Points
    32

    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/Modérateur
    Avatar de _Mac_
    Inscrit en
    août 2005
    Messages
    9 417
    Détails du profil
    Informations forums :
    Inscription : août 2005
    Messages : 9 417
    Points : 10 972
    Points
    10 972

    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.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •