[php] erreur fonction copy
Résolu/Fermé
28_seb
Messages postés
84
Date d'inscription
dimanche 22 octobre 2006
Statut
Membre
Dernière intervention
31 mai 2010
-
4 mai 2009 à 11:20
P@t@ch0n Messages postés 565 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 28 décembre 2009 - 4 mai 2009 à 20:44
P@t@ch0n Messages postés 565 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 28 décembre 2009 - 4 mai 2009 à 20:44
A voir également:
- [php] erreur fonction copy
- Erreur 0x80070643 - Accueil - Windows
- Fonction si et - Guide
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Super copy - Télécharger - Gestion de fichiers
- Erreur 1001 outlook - Accueil - Bureautique
15 réponses
Je commence à manquer d'idées
Ce que tu as ajouté te permet de rendre le répertoire cité visible via http, ça ne change rien à l'accessibilité des fichiers par fopen.
As-tu essayé de faire un petit script de lecture ? Peut-être que tu ne travailles pas sur le répertoire que tu crois, pour une raison qu'il restera à déterminer (Car tu ne mets pas un nom de chemin complet dans le nom du fichier)
justement, autre suggestion : mettre un nom de chemin complet /var/www/html/php/test/essai.txt
Ce que tu as ajouté te permet de rendre le répertoire cité visible via http, ça ne change rien à l'accessibilité des fichiers par fopen.
As-tu essayé de faire un petit script de lecture ? Peut-être que tu ne travailles pas sur le répertoire que tu crois, pour une raison qu'il restera à déterminer (Car tu ne mets pas un nom de chemin complet dans le nom du fichier)
justement, autre suggestion : mettre un nom de chemin complet /var/www/html/php/test/essai.txt
Bonjour
D'après le message , c'est plutôt sur test.txt.bak qu'il y a un problème. Existe-t-il déjà ? Et si oui, avec quels droits ?
D'autre part, tu dis avoir changé les droits sur le répertoire, mais as-tu vérifié que le changement a bien été pris en compte ?
D'après le message , c'est plutôt sur test.txt.bak qu'il y a un problème. Existe-t-il déjà ? Et si oui, avec quels droits ?
D'autre part, tu dis avoir changé les droits sur le répertoire, mais as-tu vérifié que le changement a bien été pris en compte ?
28_seb
Messages postés
84
Date d'inscription
dimanche 22 octobre 2006
Statut
Membre
Dernière intervention
31 mai 2010
11
4 mai 2009 à 11:55
4 mai 2009 à 11:55
Bonjour,
le fichier test.txt.bak c'est le nom du nouveau fichier, le fichier à copier s'appelle test.txt, il est en 777.
Le changement du rep a bien été pris en compte.
même ce code ne marche pas :
<?php
$fp = fopen('data.txt', 'w');
fwrite($fp, '1');
fwrite($fp, '23');
fclose($fp);
// le contenu de 'data.txt' est maintenant 123 et non 23 !
?>
J'ai testé qur un pc XP avec easyPHP cele fonctionne, y'a peut être un problème a gérer avec php.ini, mais je ne sais pas.
Merci
Seb
le fichier test.txt.bak c'est le nom du nouveau fichier, le fichier à copier s'appelle test.txt, il est en 777.
Le changement du rep a bien été pris en compte.
même ce code ne marche pas :
<?php
$fp = fopen('data.txt', 'w');
fwrite($fp, '1');
fwrite($fp, '23');
fclose($fp);
// le contenu de 'data.txt' est maintenant 123 et non 23 !
?>
J'ai testé qur un pc XP avec easyPHP cele fonctionne, y'a peut être un problème a gérer avec php.ini, mais je ne sais pas.
Merci
Seb
P@t@ch0n
Messages postés
565
Date d'inscription
mercredi 15 avril 2009
Statut
Membre
Dernière intervention
28 décembre 2009
85
4 mai 2009 à 12:31
4 mai 2009 à 12:31
Quand tu dis que ça ne fonctionne pas, c'est à dire ?
Tu n'obtiens pas " 123 " dans le fichier sur linux ?
Tu n'obtiens pas " 123 " dans le fichier sur linux ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
28_seb
Messages postés
84
Date d'inscription
dimanche 22 octobre 2006
Statut
Membre
Dernière intervention
31 mai 2010
11
4 mai 2009 à 13:23
4 mai 2009 à 13:23
slt,
J'ai ca comme erreur,
Warning: fopen(data.txt) [function.fopen]: failed to open stream: Permission denied in /var/www/html/php/test/write_seb.php on line 2
Je pense que c'est la version d'apache qui est tres restrictive, je dois paramétrer qqchose je pense !
une idée ? thx
J'ai ca comme erreur,
Warning: fopen(data.txt) [function.fopen]: failed to open stream: Permission denied in /var/www/html/php/test/write_seb.php on line 2
Je pense que c'est la version d'apache qui est tres restrictive, je dois paramétrer qqchose je pense !
une idée ? thx
vérifie dans http.conf si tu as
php_admin_value open_basedir none
et dans php.ini la valeur de open_basedir
php_admin_value open_basedir none
et dans php.ini la valeur de open_basedir
28_seb
Messages postés
84
Date d'inscription
dimanche 22 octobre 2006
Statut
Membre
Dernière intervention
31 mai 2010
11
4 mai 2009 à 14:04
4 mai 2009 à 14:04
dans php.ini j'ai
; open_basedir, if set, limits all file operations to the defined directory
; and below. This directive makes most sense if used in a per-directory
; or per-virtualhost web server configuration file. This directive is
; *NOT* affected by whether Safe Mode is turned On or Off.
;open_basedir =
dans /etc/httpd/conf/httpd.conf, je n'ai pas : php_admin_value open_basedir none
j'ai rajouté cette ligne pour autoriser le dossier :
<Directory "/var/www/html/php">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
mais rien n'y fait
Je ne comprends plus
thx
; open_basedir, if set, limits all file operations to the defined directory
; and below. This directive makes most sense if used in a per-directory
; or per-virtualhost web server configuration file. This directive is
; *NOT* affected by whether Safe Mode is turned On or Off.
;open_basedir =
dans /etc/httpd/conf/httpd.conf, je n'ai pas : php_admin_value open_basedir none
j'ai rajouté cette ligne pour autoriser le dossier :
<Directory "/var/www/html/php">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
mais rien n'y fait
Je ne comprends plus
thx
P@t@ch0n
Messages postés
565
Date d'inscription
mercredi 15 avril 2009
Statut
Membre
Dernière intervention
28 décembre 2009
85
4 mai 2009 à 14:39
4 mai 2009 à 14:39
Rien à voir avec ça.
T'as tenté le chmod() avec php sur le répertoire avant la création de ton fichier ?
Que donne un ls -l de ton répertoire ?
T'as tenté le chmod() avec php sur le répertoire avant la création de ton fichier ?
Que donne un ls -l de ton répertoire ?
28_seb
Messages postés
84
Date d'inscription
dimanche 22 octobre 2006
Statut
Membre
Dernière intervention
31 mai 2010
11
4 mai 2009 à 14:52
4 mai 2009 à 14:52
tt est autorisé, lol !
[root@localhost test]# ls -l
total 40
-rwxrwxrwx 1 root root 144 mai 4 10:54 copy.php
-rwxrwxrwx 1 root root 165 mai 4 10:52 copy.php~
-rwxrwxrwx 1 sebastien sebastien 146 mai 4 11:49 copy_seb.php
-rwxrwxrwx 1 sebastien sebastien 144 mai 4 11:48 copy_seb.php~
-rwxrwxrwx 1 sebastien sebastien 0 mai 4 11:43 data.txt
-rwxrwxrwx 1 root root 1656 mai 4 10:41 img.jpg
-rwxrwxrwx 1 sebastien sebastien 1 mai 4 11:49 test2.txt
-rwxrwxrwx 1 sebastien sebastien 1 mai 4 11:55 test2.txt.bak
-rwxrwxrwx 1 sebastien root 15 mai 4 10:54 test.txt
-rwxrwxrwx 1 root root 150 mai 4 11:38 write.php
-rwxrwxrwx 1 sebastien sebastien 150 mai 4 11:40 write_seb.php
[root@localhost test]# ls -l
total 40
-rwxrwxrwx 1 root root 144 mai 4 10:54 copy.php
-rwxrwxrwx 1 root root 165 mai 4 10:52 copy.php~
-rwxrwxrwx 1 sebastien sebastien 146 mai 4 11:49 copy_seb.php
-rwxrwxrwx 1 sebastien sebastien 144 mai 4 11:48 copy_seb.php~
-rwxrwxrwx 1 sebastien sebastien 0 mai 4 11:43 data.txt
-rwxrwxrwx 1 root root 1656 mai 4 10:41 img.jpg
-rwxrwxrwx 1 sebastien sebastien 1 mai 4 11:49 test2.txt
-rwxrwxrwx 1 sebastien sebastien 1 mai 4 11:55 test2.txt.bak
-rwxrwxrwx 1 sebastien root 15 mai 4 10:54 test.txt
-rwxrwxrwx 1 root root 150 mai 4 11:38 write.php
-rwxrwxrwx 1 sebastien sebastien 150 mai 4 11:40 write_seb.php
28_seb
Messages postés
84
Date d'inscription
dimanche 22 octobre 2006
Statut
Membre
Dernière intervention
31 mai 2010
11
4 mai 2009 à 15:26
4 mai 2009 à 15:26
j'ai un logiciel qui s'est ouver certwatch, d'apres les logs il bloque les scripts,
comprends pas pkoi certwatch qui gere les certificat SSL vient faire la !!!
Tkx
comprends pas pkoi certwatch qui gere les certificat SSL vient faire la !!!
Tkx
Tu crois que ça a un rapport avec ton problème d'écriture dans les fichiers ?
As-tu essayé avec un nom de chemin complet ?
As-tu essayé avec un nom de chemin complet ?
28_seb
Messages postés
84
Date d'inscription
dimanche 22 octobre 2006
Statut
Membre
Dernière intervention
31 mai 2010
11
4 mai 2009 à 15:34
4 mai 2009 à 15:34
Oui, j'ai essayé avec le nom complet, j'ai même essayé dans /tmp mais le même probleme.
Quand j'ai relancé pour la xieme fois le script, j'ai SElinux qui se lance et bloque cet appel donc je pense que ca vient de la mais pas sur.
Quand j'ai relancé pour la xieme fois le script, j'ai SElinux qui se lance et bloque cet appel donc je pense que ca vient de la mais pas sur.
28_seb
Messages postés
84
Date d'inscription
dimanche 22 octobre 2006
Statut
Membre
Dernière intervention
31 mai 2010
11
4 mai 2009 à 15:40
4 mai 2009 à 15:40
je viens de lancer le script et j'ai SELINUX qui est apparu
il a ecrit plusieurs truc :
Résumé
SELinux empêche le démon httpd d'utiliser des fichiers potentiellement mal étiquetés ./data.txt (httpd_sys_content_t).
Description détaillée
SELinux a refusé au démon httpd d'accéder à des fichiers potentiellement mal étiquetés ./data.txt. Cela signifie que SELinux n'autorisera pas httpd à utiliser ces fichiers. De nombreuses applications tierces installent des fichiers html dans des répertoires que la stratégie de SELinux ne peut pas prédire. Ces répertoires doivent être étiquetés avec un contexte de fichier permettant à httpd d'y accéder.
Autoriser l'accès
Si vous souhaitez modifier le contexte du fichier de ./data.txt de façon à ce que httpd puisse y avoir accès, vous devez l'exécuter en utilisant chcon -t httpd_sys_content_t './data.txt' Vous pouvez regarder la page de manuel httpd_selinux pour davantage d'informations.
J'ai jms eu ce probleme dans le passé, comprends pas gd chose !!
Thx pour votre aide
il a ecrit plusieurs truc :
Résumé
SELinux empêche le démon httpd d'utiliser des fichiers potentiellement mal étiquetés ./data.txt (httpd_sys_content_t).
Description détaillée
SELinux a refusé au démon httpd d'accéder à des fichiers potentiellement mal étiquetés ./data.txt. Cela signifie que SELinux n'autorisera pas httpd à utiliser ces fichiers. De nombreuses applications tierces installent des fichiers html dans des répertoires que la stratégie de SELinux ne peut pas prédire. Ces répertoires doivent être étiquetés avec un contexte de fichier permettant à httpd d'y accéder.
Autoriser l'accès
Si vous souhaitez modifier le contexte du fichier de ./data.txt de façon à ce que httpd puisse y avoir accès, vous devez l'exécuter en utilisant chcon -t httpd_sys_content_t './data.txt' Vous pouvez regarder la page de manuel httpd_selinux pour davantage d'informations.
J'ai jms eu ce probleme dans le passé, comprends pas gd chose !!
Thx pour votre aide
28_seb
Messages postés
84
Date d'inscription
dimanche 22 octobre 2006
Statut
Membre
Dernière intervention
31 mai 2010
11
4 mai 2009 à 16:12
4 mai 2009 à 16:12
Slt
Merci pour votre aide.
J'ai désactivé SELinux, il bloqué le deamon httpd, j'aurais du le voir depuis lgtps, arf
ouf le problème est réglé !!
seb
Merci pour votre aide.
J'ai désactivé SELinux, il bloqué le deamon httpd, j'aurais du le voir depuis lgtps, arf
ouf le problème est réglé !!
seb
P@t@ch0n
Messages postés
565
Date d'inscription
mercredi 15 avril 2009
Statut
Membre
Dernière intervention
28 décembre 2009
85
4 mai 2009 à 20:44
4 mai 2009 à 20:44
On aurait pu chercher longtemps :D