Page 1 sur 1

Problème de création répertoire "erreurs" sur serveur

Posté : 27 juil. 2016, 12:15
par patou007
Bonjour,

Je souhaites créer un répertoire sur un serveur dans mon répertoire de travail /home/padalber/.public_html
J'ai réussi à crée un répertoire qui s'appelle "logs" qui se trouve dans ce répertoire.
Avec mon script pas de souci pour la création de /home/padalber/.public_html/logs qui contient les logs par date

J'ai essayé de faire la même chose pour la création d'un répertoire "erreurs" mais ça ne fonctionne pas

Voice mon bout de code qui est intégré à la fin du script principal "pl3_rhxls_import_dev.php" se trouvant dans mon répertoire de travail :

Code : Tout sélectionner

$tab_debug=ob_get_contents(); ob_end_clean(); $log_mode=""; $error_mode=""; $current_date=date('d-m-Y H'); $path_log='logs/'.$current_date; $path_errors='/errors/'.$current_date; if(!file_exists($path_log)) { if (!mkdir($path_log, 0777)) { die('Echec lors de la création du répertoire...'); } } if(!file_exists($path_errors)) { if (!mkdir($path_errors, 0777)) { die('Echec lors de la création du répertoire...'); } } $log = "Exécution du script à " . date( 'd-m-Y H:i:s' ); $err_date_message = "Erreurs du script à " . date( 'd-m-Y H:i:s' ); if($mode_creation==true){ $log_mode="create"; $error_mode="create"; }; $fichier_log=fopen($path_log.'/test_'.$log_mode.'.log','a+'); $fichier_errors=fopen($path_errors.'/errors_'.$error_mode,'a+'); fwrite($fichier_log,$log); fwrite($fichier_log,$tab_debug); fwrite($fichier_log,$noncritical_errors); fwrite($fichier_errors,$err_date_message); fwrite($fichier_errors,$noncritical_errors); fclose($fichier_log); fclose(fichier_errors); echo 'titi'; echo 'tr'.$noncritical_errors.'df';echo 'bonj'; var_dump($noncritical_errors); echo getcwd() . "\n"; // fin my_exit(0);
et le message d'erreur:

Warning: mkdir(): No such file or directory in /home/padalber/.public_html/pl3_rhxls_import_dev.php on line 4147 Echec lors de la création du répertoire...


Pouvez-vous m'aider à résoudre ce problème ?

Merci :D

Re: Problème de création répertoire "erreurs" sur serveur

Posté : 27 juil. 2016, 13:26
par moogli
salut,

c'est simple $path_errors='/errors/'.$current_date;
=> cherche a créer un répertoire dans /errors or y a peu de chance qu'il y ai un répertoire "errors" juste sous la racine et encore moins que tu puisse y accéder :)

pour résoudre ton problème enlève le / devant errors.

pour éviter cela utilise plutôt un chemin absolue (que tu retrouve avec dirname couplé avec __FILE__, par exemple).

@+

Re: Problème de création répertoire "erreurs" sur serveur

Posté : 27 juil. 2016, 13:56
par patou1007
Bonjour,

J'ai testé et le fait d'enlever le '/ ' devant errors ne résout pas le problème.
En fait au début j'avais dèja essayé sans le / mais j'avais et c'est toujours la cas le même message d'erreur.

D'autres solutions à me proposer ?

Merci :D

Re: Problème de création répertoire "erreurs" sur serveur

Posté : 27 juil. 2016, 16:47
par moogli
et ça fait quoi sans le / ?
si cela fonctionne pour l'autre pourquoi cela ne le ferais pas pour celui ci ?

des idées j'en ai plein :)

- il y a d'autre info avec le message ?
- le répertorie existe déjà ?
- les espaces dans le nom de répertoire c'est généralement pas une bonne idée ;)

Re: Problème de création répertoire "erreurs" sur serveur

Posté : 27 juil. 2016, 17:12
par patou1007
Sans le / j'ai le même message d'erreur que j'avait quand je mets:

Warning: mkdir(): No such file or directory in /home/padalber/.public_html/pl3_rhxls_import_dev.php on line 4147 Echec lors de la création du répertoire...

Et C'est justement ce que je n'arrive pas comprendre pourquoi cela fonctionne avec la gestion des logs en mettant $path_log='logs/'.$current_date; et que cela ne fonctionne pas avec si je fais la même la chose pour la gestion des erreurs. Je précise que le répertoire errors n'existe pas dèja dans mon répertoire de travail /home/padalber/.public_html. Normalement il le crée s'il n'existe pas avec le code que j'ai ?

Re: Problème de création répertoire "erreurs" sur serveur

Posté : 28 juil. 2016, 09:00
par moogli
Je précise que le répertoire errors n'existe pas dèja dans mon répertoire de travail /home/padalber/.public_html. Normalement il le crée s'il n'existe pas avec le code que j'ai ?
non il faut indiquer le troisième paramètre à true => http://php.net/manual/fr/function.mkdir.php


@+

Re: Problème de création répertoire "erreurs" sur serveur

Posté : 28 juil. 2016, 10:05
par patou1007
Bonjour,

En en mettant le troisième paramètre à true , j'obtient le message d'erreur suivant:

Warning: mkdir(): Permission denied in /home/padalber/.public_html/pl3_rhxls_import_dev.php on line 4147 Echec lors de la création du répertoire...

Re: Problème de création répertoire "erreurs" sur serveur

Posté : 28 juil. 2016, 10:39
par moogli
l'utilisateur qui fait tourner php à le droit d'écrire dans ton home ?
si tu crée le répertoire errors avec les droits qui vont bien c'est mieux ?
le 0777 n'est pas une solution hein => http://www.commitstrip.com/fr/2016/06/29/chmod-what/ :-)~


@+