Page 1 sur 3

Lecture du fichier log d'apache

Posté : 22 juin 2012, 06:32
par rimie
Bonjour,

Est ce qu'on a la possibilite de lire le fichier log d'apache sous Ubuntu en PHP si on a la main sur le serveur? sachant que ses droits sont:

Code : Tout sélectionner

-rw-r----- 1 root adm 160472 Jun 22 05:29 error.log
merci

Re: Lecture du fichier log d'apache

Posté : 22 juin 2012, 08:21
par Mazarini
Tu peux :
- mettre apache dans le groupe adm (voir si ca pose des problèmes de sécurité).
- changer les permissions de ce fichier mais avec la rotation des log, elle rique de revenir.
- faire une copie de ce fichier.

Re: Lecture du fichier log d'apache

Posté : 24 juin 2012, 03:13
par rimie
Tu peux :
- mettre apache dans le groupe adm (voir si ca pose des problèmes de sécurité).
il l'est deja en group adm
- changer les permissions de ce fichier mais avec la rotation des log, elle rique de revenir.
quelles permissions a donner

j'ai essaye ce code:
<?php echo realpath('fopen.php'); ?>

<?php
$file = '../var/log/apache2/error.log';

$fp = fopen($file, 'r');
fseek($fp, filesize($file)-5000);
$content = array_slice(array_reverse(explode("\n",fread($fp, 5000))), 0, 21);
array_shift($content);
echo '<pre>';
print_r($content);
echo '</pre>';

Code : Tout sélectionner

Warning: fopen(../var/log/apache2/error.log): failed to open stream: No such file or directory in fopen.php on line 6

Re: Lecture du fichier log d'apache

Posté : 26 juin 2012, 04:18
par rimie
j'ajoute que le fichier error.log existe, et que son chemin est "/var/log/apache2/error.log"

le code:
<?php echo realpath('fopen.php'); ?>
resultat:
/home/rime/www/tests/fopen.php

Re: Lecture du fichier log d'apache

Posté : 26 juin 2012, 10:14
par sirakawa
es-tu sûr que le chemin est ../var/etc plutùôt que /var/etc ?

Re: Lecture du fichier log d'apache

Posté : 26 juin 2012, 13:33
par rimie
es-tu sûr que le chemin est ../var/etc plutùôt que /var/etc ?
non, les fichiers sont sur /home/rime/www et le fichier log est sur /var/log

Re: Lecture du fichier log d'apache

Posté : 26 juin 2012, 13:35
par xTG
Bah justement alors...
.. => remonter d'un unique dossier
Donc tu cherches le dossier var dans le dossier rimie actuellement.

Re: Lecture du fichier log d'apache

Posté : 26 juin 2012, 14:38
par rimie
la meme chose:

Code : Tout sélectionner

Warning: fopen(../../var/log/apache2/error.log): failed to open stream: No such file or directory in
et voila la structure:

* Le contenu du site est sur www/tests

Code : Tout sélectionner

rime@ubuntu:/home/rime/www/tests$ ls fopen.php
et le fichier log:

Code : Tout sélectionner

rime@ubuntu:/var/log/apache2$ ls access.log error.log other_vhosts_access.log

Re: Lecture du fichier log d'apache

Posté : 26 juin 2012, 14:45
par xTG
Là tu cherches dans le dossier home.

Re: Lecture du fichier log d'apache

Posté : 26 juin 2012, 15:54
par Mazarini
$file = '/var/log/apache2/error.log'
Pourquoi chercher des complications.

Re: Lecture du fichier log d'apache

Posté : 27 juin 2012, 03:02
par rimie
$file = '/var/log/apache2/error.log'
Pourquoi chercher des complications.
reponse:

Code : Tout sélectionner

Warning: fopen(var/log/apache2/error.log): failed to open stream: No such file or directory in
* Les fichiers log sont sur var/log/apache2
* Le site est sur /home/rime/www

un ls sur la racine donneras ca (j'ai elimine les autres repertoires

Code : Tout sélectionner

rime@ubuntu:/$ pwd / rime@ubuntu:/$ ls var home
Merci

Re: Lecture du fichier log d'apache

Posté : 27 juin 2012, 07:00
par xTG
Le chemin est le suivant :

Code : Tout sélectionner

../../../var/log/apache2/error.log

Re: Lecture du fichier log d'apache

Posté : 27 juin 2012, 10:47
par Mazarini
Je ne comprends pas pourquoi /var/log/apache2/error.log ne marche pas.

Re: Lecture du fichier log d'apache

Posté : 27 juin 2012, 11:54
par rimie
LoL, j'ai tout teste:

Code : Tout sélectionner

Warning: fopen(../../../var/log/apache2/error.log): failed to open stream: No such file or directory in

Re: Lecture du fichier log d'apache

Posté : 27 juin 2012, 12:00
par Mazarini
D'après la doc :
Si PHP décide que le fichier filename est un fichier local, il va essayer d'ouvrir un flux avec ce fichier. Le fichier doit être accessible à PHP. Il vous faut donc vous assurer que vous avez les droits d'accès à ce fichier. Si vous activez le safe mode, ou la directive open_basedir, d'autres conditions peuvent aussi s'appliquer.
une piste ?