Lecture du fichier log d'apache

Mammouth du PHP | 725 Messages

22 juin 2012, 06:32

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

ViPHP
ViPHP | 2577 Messages

22 juin 2012, 08:21

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.

Mammouth du PHP | 725 Messages

24 juin 2012, 03:13

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

Mammouth du PHP | 725 Messages

26 juin 2012, 04:18

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

Mammouth du PHP | 2278 Messages

26 juin 2012, 10:14

es-tu sûr que le chemin est ../var/etc plutùôt que /var/etc ?
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Mammouth du PHP | 725 Messages

26 juin 2012, 13:33

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

ViPHP
xTG
ViPHP | 7331 Messages

26 juin 2012, 13:35

Bah justement alors...
.. => remonter d'un unique dossier
Donc tu cherches le dossier var dans le dossier rimie actuellement.

Mammouth du PHP | 725 Messages

26 juin 2012, 14:38

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

ViPHP
xTG
ViPHP | 7331 Messages

26 juin 2012, 14:45

Là tu cherches dans le dossier home.

ViPHP
ViPHP | 2577 Messages

26 juin 2012, 15:54

$file = '/var/log/apache2/error.log'
Pourquoi chercher des complications.

Mammouth du PHP | 725 Messages

27 juin 2012, 03:02

$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

ViPHP
xTG
ViPHP | 7331 Messages

27 juin 2012, 07:00

Le chemin est le suivant :

Code : Tout sélectionner

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

ViPHP
ViPHP | 2577 Messages

27 juin 2012, 10:47

Je ne comprends pas pourquoi /var/log/apache2/error.log ne marche pas.

Mammouth du PHP | 725 Messages

27 juin 2012, 11:54

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

ViPHP
ViPHP | 2577 Messages

27 juin 2012, 12:00

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 ?