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

Bibliothèques et frameworks PHP Discussion :

[PHPPowerPoint] Problème d'include


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Février 2011
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 3
    Par défaut [PHPPowerPoint] Problème d'include
    Bonjour,

    J'ai récemment créé un programme en PHP/MySQL. Une fois qu'il est exécuté, il affiche en sortie un ensemble de données (textuelles). Jusque là, tout fonctionne parfaitement.
    Je souhaiterai intégrer ces données et créer un powerpoint à la volée dans lequel ces données seraient mises.

    Pour cela, j'ai trouvé après quelques recherches une libraire nommée PHPPowerpoint qui fait exactement cela. Il s'agit en fait d'un ensemble de classes qui permet de créer des slides (à partir de rien) et d'ajouter des zones de textes, images etc.

    J'ai téléchargé puis installé cette librairie (dernière version PHPPowerpoint) et l'ai testé sur mon pc perso en local, elle fonctionne très bien.

    Voici l'arborescence de la libraire:
    - PHPPowerpoint/Tests/02presentation.php
    - PHPPowerpoint/Classes/PHPPowerpoint/ (dossier, qui contient pleins de fichiers .php de la librairie)
    - PHPPowerpoint/Classes/PHPPowerpoint.php

    Le développeur qui a créé cette libraire a même pensé à faire plusieurs scripts de tests qui se trouvent dans le répertoire "Tests". Pour mon test, j'ai essayé d'exécuter le fichier ./Tests/02presentation.php", qui génère dans le répertoire courant un fichier 02presentation.pptx si le script s'exécute correctement.

    Config: OS: Windows Vista, plateforme de dév: WAMP5 (php version 5.3.0).

    Problème:
    Je souhaiterai maintenant utiliser cette librairie sur un serveur. Sa configuration est un peu différente (OS: Ubuntu, PHP Version 5.3.2-1ubuntu4.7).
    J'ai correctement installé apache et mysql, puis copié cette librairie dans "/var/www/" sous le répertoire "PHPPowerpoint".

    Je lance le test: http://sous-domaine.domaine.com/PHPP...esentation.php, et là, il n'affiche que le message suivant: "21:42:32 Create new PHPPowerPoint object".

    Concrètement, si on regarde dans le code source du fichier ./PHPPowerpoint/Tests/02presentation.php, je constate d'après les logs d'apache (/var/log/apache2/error.log) qu'il n'arrive pas à construire l'objet PHPPowerpoint car il n'arrive pas à trouver le fichier "./PHPPowerpoint/Classes/Powerpoint.php".

    Les fichiers de logs m'indiquent des warning/erreurs.
    Je pense que le problème vient de l'inclusion tout simplement des fichiers ligne 35 et 38, nécessaire pour accéder à la classe PHPPowerpoint (et à son constructeur) et aux différentes méthodes sous-jacentes.
    D'après les logs, il n'arrive pas à y accéder.

    Essais effectués:
    1 - J'ai essayé de mettre le chemin en absolu et non en relatif pour lui indiquer précisément où étaient les classes (include '/var/www/PHPPowerpoint/Classes/PHPPowerpoint.php', par exemple, au lieu d'un simple include 'PHPPowerpoint', mais il ne la trouve toujours pas).
    2 - Je suis aussi passé par la solution relative:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    include ($_SERVER['DOCUMENT_ROOT']."/PHPPowerpoint/Classes/PHPPowerpoint.php";
    mais cela n'a rien changé.
    3 - J'ai modifié le set_include_path() ligne 32 et ai rajouté le chemin absolu vers le répertoire classe après le PATH_SEPARATOR, mais cela ne change rien
    4 - Enfin, j'ai regardé le fichier php.ini du serveur apache, et j'ai modifié la variable instance_path de façon à rajouter par défaut le chemin /var/www/PHPPowerpoint/Classes/, mais cela ne change rien non plus.
    5 - J'ai même modifié l'ensemble des include, require, require_once des fichiers de la librairie en mettant exclusivement des chemins absolus pour indiquer où chercher les fichiers, mais cela n'a pas eu d'effet.
    6 - Dernière chose, en début du fichier 02presentation.php, il y a le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    set_include_path(get_include_path() . PATH_SEPARATOR . '../Classes/'); , 
    include 'PHPPowerPoint.php';
    include 'PHPPowerPoint/IOFactory.php';
    $objPHPPowerPoint = new PHPPowerPoint();
    Je pense qu'il y a un problème avec le set_include_path et qu'il n'arrive pas à indiquer où trouver le fichier /var/www/PHPPowerpoint/Classes/PHPPowerpoint à mon fichier /var/www/PHPPowerpoint/Tests/02presentation.php

    Il continue d'afficher des warning et une erreur à la fin car il ne trouve pas la classe "PHPPowerpoint". Je suis à court d'idée à ce niveau.

    Est-ce que vous sauriez me dire svp pourquoi il n'arrive pas à le trouver et comment faire pour que les include fonctionnent correctement ?

    Merci beaucoup par avance pour votre aide.

    PS: je pense que ce post est sensiblement similaire, mais je n'ai pas vraiment compris l'histoire du CLI

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Les fichiers de logs m'indiquent des warning/erreurs.
    Je pense que le problème vient de l'inclusion tout simplement des fichiers ligne 35 et 38
    Quelle est la première erreur ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Candidat au Club
    Inscrit en
    Février 2011
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 3
    Par défaut
    La première erreur est lors du premier include() pendant l'appel de PHPPowerpoint:

    Warning: include(PHPPowerPoint.php) [function.include]: failed to open stream: No such file or directory in /var/www/PHPPowerpoint/Tests/02presentation.php on line 35

  4. #4
    Candidat au Club
    Inscrit en
    Février 2011
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 3
    Par défaut
    Voici d'ailleurs la suite de warning généré avant l'erreur fatal (car il ne peut pas trouver la classe PHPPowerpoint pour construire l'object PHPPowerpoint):

    Warning: include(PHPPowerPoint.php) [function.include]: failed to open stream: No such file or directory in /var/www/PHPPowerpoint/Tests/02presentation.php on line 35

    Warning: include() [function.include]: Failed opening 'PHPPowerPoint.php' for inclusion (include_path='.:/usr/share/php:/var/www/PHPPowerpoint/Classes/') in /var/www/PHPPowerpoint/Tests/02presentation.php on line 35
    Warning: include(PHPPowerPoint/IOFactory.php) [function.include]: failed to open stream: No such file or directory in /var/www/PHPPowerpoint/Tests/02presentation.php on line 38
    Warning: include() [function.include]: Failed opening 'PHPPowerPoint/IOFactory.php' for inclusion (include_path='.:/usr/share/php:/var/www/PHPPowerpoint/Classes/') in /var/www/PHPPowerpoint/Tests/02presentation.php on line 38
    23:37:55 Create new PHPPowerPoint object
    Fatal error: Class 'PHPPowerPoint' not found in /var/www/PHPPowerpoint/Tests/02presentation.php on line 38

Discussions similaires

  1. [Configuration] problème d'include à cause de l'arborescence
    Par hoaxpunk dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 15/12/2005, 18h00
  2. [EasyPHP] Problème d'include de fichier et adresse des images
    Par doudou34 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 02/11/2005, 22h46
  3. problèmes avec "include file" pour une page asp
    Par chipsense dans le forum ASP
    Réponses: 1
    Dernier message: 02/09/2005, 16h22
  4. [JSP] problème d'include ou d'import
    Par lipao17 dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 06/04/2005, 14h39
  5. Problème d'include sous Dev-c++ 4.9.8.0
    Par Argonz dans le forum Dev-C++
    Réponses: 16
    Dernier message: 20/11/2003, 18h36

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