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 :

[PHPExcel] Problème sur le serveur


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mars 2014
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Mars 2014
    Messages : 22
    Points : 15
    Points
    15
    Par défaut [PHPExcel] Problème sur le serveur
    Bonjour à tous

    J'ai développé une application web en local avec l'utilisation de PHPExcel cela fonctionne parfaitement bien ,cependant une fois déployée sur le serveur web impossible de la faire fonctionner.

    Il me renvoi :
    " 500 - Erreur interne au serveur.
    La ressource que vous recherchez présente un problème, elle ne peut donc pas être affichée."

    La question que je me pose qui est sans doute pas très intelligente mais je ne vois pas d'où peux venir le problème, doit on avoir installé Excel sur le serveur web afin que le Load s'effectue?

    Le problème apparaît même si j'a fait un simple

    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
    16
    17
    include '../PHPExcel_1.8.0_doc/Classes/PHPExcel.php';
     
     
     
    	$objet = new PHPExcel_Reader_Excel2007();
     
    	$excel = $objet->load('nouveauUtilisateur.xlsx');
     
    	$highRow = $excel->setActiveSheetIndex(0)->getHighestDataRow();
    	$ligneEcriture = $highRow+1;
    	$sheet = $excel->getSheet(0);
    	$sheet->setCellValue('A'.$ligneEcriture, $nom);
     
    	$writer = new PHPExcel_Writer_Excel2007($excel);
     
     
    	$writer->save('nouveauUtilisateur.xlsx');


    Edit [Le problème vient de la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $writer = new PHPExcel_Writer_Excel2007($excel);
     
     
    	$writer->save('nouveauUtilisateur.xlsx');
    Je vous remercie

    Slach'

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Il faudrait consulter le log d'erreur PHP de ton serveur pour avoir la vraie erreur.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mars 2014
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Mars 2014
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    Salut @sabotage

    PHP Fatal error: Uncaught exception 'PHPExcel_Reader_Exception' with message 'Could not open V:\utilisateurZimbra.xlsx for reading! File does not exist.' in C:\inetpub\wwwroot\creationCompte\PHPExcel_1.8.0_doc\Classes\PHPExcel\Reader\Excel2007.php:347 Stack trace: #0 C:\inetpub\wwwroot\creationCompte\nouveauUtilisateur\traitementNouveauUtilisateurAvecListeService.php(21): PHPExcel_Reader_Excel2007->load('V:\\utilisateurZ...') #1 {main} thrown in C:\inetpub\wwwroot\creationCompte\PHPExcel_1.8.0_doc\Classes\PHPExcel\Reader\Excel2007.php on line 347

    Voici mon message d'erreur affiché sur la page.

    Et voici mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    include '../PHPExcel_1.8.0_doc/Classes/PHPExcel.php';
     
     
     
    	$objet = new PHPExcel_Reader_Excel2007();
     
    	$excel = $objet->load('V:\utilisateurZimbra.xlsx');
     
    	$writer = new PHPExcel_Writer_Excel2007($excel);
     
    	$writer->save('V:\utilisateurZimbra.xlsx')
    En sachant que le fichier existe bien dans le V:, et que le serveur a droit en lecture + écriture

    EDIT : les extensions suivantes sont bien activées :Zip GD XML

  4. #4
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    C'est l'utilisateur qui fait tourner le serveur qui doit avoir accès au répertoire.
    Tu peux faire
    pour être sûr de l'utilisateur.

    De plus sur un système windows, un service n'a pas accès aux lecteurs qui ont été montés par l'utilisateur.
    Dans un cas comme celui, j'ai du monter mon lecteur avec une autre lettre depuis PHP. Le montage n'a besoin d'être fait qu'une fois.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system('NET USE W: "\\\\Tonserveur\\Repertoire" /user:domaine\\utilisateur xxxxx /persistent:YES');
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mars 2014
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Mars 2014
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    Je te remercie Sabotage , j'arrive maintenant à travailler sur les dossier qui sont dans le dossier www du serveur.

    Cependant quand je veux accéder à un lecteur qui a été monté par moi même j'ai un peu de mal, j'ai essayé avec système net use comme montré plus haut cependant comment voir si cette commande fonctionne correctement ? Vois t-on apparaître le lecteur réseau connecté sur le serveur une fois réussi dans "ordinateur", malgré qu'il soit monté par PHP ?

    J'ai essayé cela mais sa ne fonctionne pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $location = "\\S-Fi....\.....$\......\......";
    $user = "nom utilisateur de connexion au serveur web";
    $pass = "mdp de connexion au serveur web";
    $letter = "V";
     
    system("net use ".$letter.":  ".$location." ".$pass." /user:".$user." /persistent:YES");
    EDIT :
    J'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $dir = $letter.":/";
    $dh = opendir($dir);
    pour vérifié si la création a bien été reussi cependant ce message d'erreur s'affiche "PHP Warning: opendir(V:/,V:/): Le chemin d�acc�s sp�cifi� est introuvable. (code: 3) in C:\inetpub\wwwroot\creationCompte\nouveauUtilisateur\creationDir.php on line 15 PHP Warning: opendir(V:/): failed to open dir: No error in C:\inetpub\wwwroot\creationCompte\nouveauUtilisateur\creationDir.php on line 15 "

    Je pense donc que cela ne fonctionne pas

  6. #6
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    de mémoire tu peux avoir le retour comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    system('NET USE W: "\\\\Tonserveur\\Repertoire" /user:domaine\\utilisateur xxxxx /persistent:YES', $output);
    echo $output;
    Dans ton chemin, tu dois doubler les \ comme dans mon exemple
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre à l'essai
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mars 2014
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Mars 2014
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    Au final je me suis simplifié la vie, je travaille sur le fichier en local et je créer un raccourci aux utilisateurs travaillant avec ce fichier excel.

    Je te remercie pour ton aide en tout cas @sabotage

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

Discussions similaires

  1. Problème sur le serveur WMS
    Par iDSystemes dans le forum IGN API Géoportail
    Réponses: 11
    Dernier message: 07/02/2019, 10h36
  2. Problème sur mon serveur Java
    Par toutouz dans le forum Java EE
    Réponses: 0
    Dernier message: 24/04/2013, 13h45
  3. [PEAR][Mail] Problème sur le serveur
    Par Kajan dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 28/06/2010, 22h00
  4. [OCI] Problème sur un serveur Oracle + Apache 2 + PHP
    Par sebvita dans le forum Interfaces de programmation
    Réponses: 2
    Dernier message: 23/01/2009, 16h27
  5. Problème sur un serveur 'Windows 2003 Serveur'
    Par G.D.O dans le forum Windows Serveur
    Réponses: 4
    Dernier message: 05/04/2006, 10h17

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