|
|
|
|
|
для: Alph[p]a
(03.11.2011 в 14:41)
| | И того, что есть достаточно, просто нужно больше подробностей, какая переменная за что отвечает. | |
|
|
|
|
|
|
|
для: Alph[p]a
(03.11.2011 в 11:30)
| | >$this->pptpd
А что тут хранится? Т.е. что получает getPPPDByID() в качестве аргумента? Это какие-то ключевые слова? Если да, то получается что для каждого ключевого слова вы открываете файл по-новой, будет 100 слов, будет 100 открытий и разборов файлов. Лучше пойти с другого конца, пусть будет одно открытие файла и один его разбор, но в каждая строка будет подвергаться 100 проверкам. 100 раз проверить короткую строку в оперативной памяти, это на порядки быстрее, чем 100 раз открыть и перелопатить 5-7 мб файл. | |
|
|
|
|
|
|
|
для: Саня
(03.11.2011 в 14:36)
| | насчет кривости я сомневаюсь, а вот насчет кривости скрипта это да...
я выложу исходник посмотрите? | |
|
|
|
|
|
|
|
для: Alph[p]a
(03.11.2011 в 14:05)
| | Если обработка 5-7 МБ файла занимает 30-40 секунд, значит либо PHP настроен очень криво, либо лог файл на самом деле больше по размеру раз эдак в сто.
grep выудит нужные вам строки.
Если есть exec(), то можно всю тажелую работу вынести за пределы php. | |
|
|
|
|
|
|
|
для: Саня
(03.11.2011 в 13:53)
| | Пробывал через file, эффект минимальный, обработка занимает 30 - 40 сек. Что много.
Так где это работает, действительно линукс...
exec() - имеется, я root..
"grep 'pppd\\[15613\\]' /var/log/syslog
|
даст как бы первую фильтрацию я так понимаю, что бы php не захлебывалось сразу? | |
|
|
|
|
|
|
|
для: Alph[p]a
(03.11.2011 в 13:52)
| | Да. А если это линукс и есть доступ к семейству функций exec(), то можно поступить проще:
<?
$lines = shell_exec("grep 'pppd\\[15613\\]' /var/log/syslog");
|
| |
|
|
|
|
|
|
|
для: Саня
(03.11.2011 в 13:31)
| | каким образом?
вы имеете ввиду ф-ю ?
| |
|
|
|
|
|
|
|
для: Alph[p]a
(03.11.2011 в 11:30)
| | А почему бы сразу в память целиком не загнать? | |
|
|
|
|
|
|
|
для: ONYX
(03.11.2011 в 13:19)
| | лог..
.................
......................................
Oct 31 08:06:48 relay pptpd[15612]: CTRL: Client ********* control connection started
Oct 31 08:06:48 relay pptpd[15612]: CTRL: Starting call (launching pppd, opening GRE)
Oct 31 08:06:48 relay pppd[15613]: pppd 2.4.3 started by root, uid 0
Oct 31 08:06:48 relay pppd[15613]: Changing interface to pptp0
Oct 31 08:06:48 relay pppd[15613]: Connect: pptp0 <--> /dev/pts/0
Oct 31 08:06:49 relay pptpd[15621]: CTRL: Client ********** control connection started
Oct 31 08:06:49 relay pptpd[15621]: CTRL: Starting call (launching pppd, opening GRE)
Oct 31 08:06:49 relay pppd[15622]: pppd 2.4.3 started by root, uid 0
Oct 31 08:06:49 relay pppd[15622]: Changing interface to pptp1
Oct 31 08:06:49 relay pppd[15622]: Connect: pptp1 <--> /dev/pts/1
Oct 31 08:06:52 relay pptpd[15621]: CTRL: Ignored a SET LINK INFO packet with real ACCMs!
Oct 31 08:06:52 relay pppd[15622]: Initializing LDAP connection
Oct 31 08:06:52 relay pppd[15622]: Connecting to LDAP
Oct 31 08:06:52 relay pppd[15622]: Doing LDAP lookup for buguruslan
Oct 31 08:06:52 relay pppd[15622]: LDAP found user details for buguruslan
Oct 31 08:06:52 relay pppd[15622]: Closing LDAP connection.
Oct 31 08:06:52 relay pppd[15622]: MPPE 128-bit stateless compression enabled
Oct 31 08:06:54 relay pppd[15622]: Cannot determine ethernet address for proxy ARP
Oct 31 08:06:54 relay pppd[15622]: local IP address ***********
Oct 31 08:06:54 relay pppd[15622]: remote IP address ***********
...................................
....
|
вот это именно один блок который мне интересен, но этот блог может быть размазан по всему файлу... | |
|
|
|
|
|
|
|
для: Alph[p]a
(03.11.2011 в 11:30)
| | задача не простая, даже при том что вы используете функцию trim для убирания пробелов из числа.
Хотелось бы увидеть пару строк из самого лог файла и узнать по какому принципу вы их выбираете. | |
|
|
|
|