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
Code : Tout sélectionner
-rw-r----- 1 root adm 160472 Jun 22 05:29 error.log
il l'est deja en group admTu peux :
- mettre apache dans le groupe adm (voir si ca pose des problèmes de sécurité).
quelles permissions a donner- changer les permissions de ce fichier mais avec la rotation des log, elle rique de revenir.
<?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
Code : Tout sélectionner
Warning: fopen(../../var/log/apache2/error.log): failed to open stream: No such file or directory in
Code : Tout sélectionner
rime@ubuntu:/home/rime/www/tests$ ls
fopen.php
Code : Tout sélectionner
rime@ubuntu:/var/log/apache2$ ls
access.log error.log other_vhosts_access.log
reponse:$file = '/var/log/apache2/error.log'
Pourquoi chercher des complications.
Code : Tout sélectionner
Warning: fopen(var/log/apache2/error.log): failed to open stream: No such file or directory in
Code : Tout sélectionner
rime@ubuntu:/$ pwd
/
rime@ubuntu:/$ ls
var home
Code : Tout sélectionner
../../../var/log/apache2/error.log
Code : Tout sélectionner
Warning: fopen(../../../var/log/apache2/error.log): failed to open stream: No such file or directory in
une piste ?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.