Решил написать себе небольшой парсер логов сервера. Хранятся они в директории /home/httpd-logs/ (ОС — FreeBSD). Вопрос следующий — как из PHP-скрипта получить доступ к этой директории? При попытке решении задачи «в лоб» — ошибка:
Warning: file_get_contents() [function.file-get-contents]:
open_basedir restriction in effect. File(../../../../httpd-logs/almazdeldiablo.ru.access.log) is not within the allowed path(s): ...
Скрипт:
<?php
$path = '../../../../httpd-logs/almazdeldiablo.ru.access.log';
$text = file_get_contents($path);
$strings = explode( "\n", $text );
$ips = array();
foreach( $strings as $s ) {
$ips[] = substr( $s, 0, strpos( $s, " " ) );
}
$ips = array_unique($ips);
$visitors = count($ips);
p( $visitors );
function p( $aArray ) {
echo '<pre>';
print_r( $aArray );
echo '</pre>';
}
_____________
Блог | VK | GitHub | Twitch