Page 1 sur 1

Prb : Lecture/création de fichier .txt avec Eclipse/Lamp

Posté : 21 sept. 2007, 18:25
par Shadockou
Bonjour, ayant recemment installer (linux) Ubuntu 7.04 pour la premiere fois ( \:D/ ) puis installer dessus Apache mysl etc , puis Eclipse PDT1.0 , j'ai récupéré quelques scripts php qui était sur windows (je suis en dual boot) en accédant au document windows à travers Ubuntu , et j'ai constaté deux problèmes .

Le premier : mes fichiers .txt comprenant des mots accentués, ont leurs accents remplacé par un petit losange noir avec un point d'interrogation.Cependant quand je les ouvre avec gedit ou autre , il n'y a aucun problème, cela ne survient que lorsque je suis sur Eclipse ou que je tente de les visualiser via un script php. De quoi cela peut il venir ?



Et deuxieme deuxieme prob : le script suivant qui marche bien sous XP-Xampp :
<?php
$fichier = "encoreunfichier.txt";
$texte = "un deux trois";
$fp = fopen($fichier,'w');
fputs($fp,$texte);

//si un autre programme essaie de lire le fichier
//il ne lit pas forcement ce que nous venons d'ajouter
//PHP le garde peut-etre en mémoire pour mutualiser
//les écritures

fflush($fp);

//maintgenant, on est sur que le texte est réellement
//écrit

?>


affiche l'erreur suivante :

Code : Tout sélectionner

Warning: fopen(encoreunfichier.txt) [function.fopen]: failed to open stream: Permission denied in /home/leray/dev_web/LURNINGPHP5/avance174.php on line 4 Warning: fputs(): supplied argument is not a valid stream resource in /home/leray/dev_web/LURNINGPHP5/avance174.php on line 5 Warning: fflush(): supplied argument is not a valid stream resource in /home/leray/dev_web/LURNINGPHP5/avance174.php on line 12
Comment faire pour changer les droits d'écritures (si le problème vient de la...)

Merci d'avance pour votre aide.

edit : mon problème d'accent est réglé pour l'affichage dans firefox, aprés avoir édité le fichier
charset de apache2... En revanche le deuxieme problème demeure, j'ai vérifié le php.ini qui est bien
en safemode OFF, et changé les droits de toute l'arborescence des fichiers concernés mais
rien n'y fait :( ..

Posté : 22 sept. 2007, 01:40
par Sékiltoyai
Que tu aies les droits sur le fichier ne change rien, apache ne s'exécute pas sous ton compte mais sous un compte dédié (genre www par exemple). Tu dois donner les droits de lecture et d'écriture (et aussi d'éxécution pour les dossiers) au groupe ou à l'utilisateur d'apache, ou bien à tous les utilisateurs.

Posté : 22 sept. 2007, 14:38
par Shadockou
Finalement j'ai résolu mon problème en créant un dossier public_html, et en accordant des droits (create delete) à tous les utilisateurs.
Mais je ne sais pas si c'est une bonne idée.... :s ??
Tu dois donner les droits de lecture et d'écriture (et aussi d'éxécution pour les dossiers) au groupe ou à l'utilisateur d'apache, ou bien à tous les utilisateurs
Comment fait on pour modifier les droits de l'utilisateur Apache, et euuuh d'ailleurs comment nommer cette utilisateur ? En faisant un truc analogue à whoami....
Désolé pour ces questions qui doivent paraitre un peu stupides... :oops:

Posté : 22 sept. 2007, 23:03
par Sékiltoyai
Mais je ne sais pas si c'est une bonne idée....
Oui
Comment fait on pour modifier les droits de l'utilisateur Apache, et euuuh d'ailleurs comment nommer cette utilisateur ? En faisant un truc analogue à whoami....
Tu peux connaître le groupe d'apache en regardant dans le httpd.conf, ou bien dans ton moniteur de processus…

Posté : 23 sept. 2007, 14:11
par Shadockou
Maintenant tous les fichiers sur mon serveur sont accessibles à tous depuis mon adresses ip.
Mon but étant simplement de developper en local et surtout pas en ligne ( pas envie d'exhiber mes premiers patés ) comment puis-je faire pour restreindre l'accés ?

Posté : 23 sept. 2007, 15:00
par Jules Petibidon
hello,

pour ce qui est des droits que tu as donné à public_html, c'était inutile, m'enfin c'est pas grave... à moins que tu partage ta machine avec des pirates industriels qui te veulent du mal :)

hormis ca, pour accéder à ton dosser, il doit normalement falloir passer par http://www.ton_ip/~ton_user. tu peux tout simplement protéger ton dossier public_html avec un .htaccess.

Posté : 23 sept. 2007, 15:14
par Shadockou
pour ce qui est des droits que tu as donné à public_html, c'était inutile, m'enfin c'est pas grave... à moins que tu partage ta machine avec des pirates industriels qui te veulent du mal Smile
Quelles auraient été les autres solutions pour que le script plus haut fonctionne sinon ?



merci en tout cas.


[edit] : j'ai finalement fait
sudo chown -R www-data:www-data /home/user/public_html
Car il subsistait encore des problèmes d'accés aux fichiers, malgrés ce que j'ai fait plus haut.
Et j'ai créé un .htaccess dans mon dossier public_html.
Ca devrait être bon comme ca non ?