Bai frate, sinteti nebuni! Ca raid, ca ptop, ca file descriptori,
ca strace si gdb si profiling... Ca sa omoriti o musca e suficient sa-i
puscati o palma peste ochi, nu e neaparat necesar sa-i prabusiti cladirea
in cap.
mod_status FTW!
Cind apache o ia razna, deschizi frumusel pagina lui mod_status
(default e http://numele_rablei/server_status?refresh=5 - ultima cu
refreshul e hint), te uiti sa vezi care instante de apache is pe cimpii,
si vezi alea ce cgi-uri/php-uri sau alte trasnai ruleaza, ce
filedescriptori are deschise, si eventual ii pusti un strace -p (daca
folosesti prefork ceea ce e foarte probabil).
Si mod_status ar trebui sa vina inaintea logurilor atita timp cit
apache-ul e inca functional (e.g. nu s-a dat cu crestetul de MaxClients
inca), pentru ca spre deosebire de loguri mod_status iti va spune ce fac
copchii turbati ai lui apache inainte de a apuca ei sa scrie ceva in
loguri (cel putin in access_log liniile apar dupa ce continutul e
trimis, si daca ai vreo balarie de php setat cu max execution time 40 de
zile e cam naspa).
Cit despre mailuri... schimba in php.ini calea catre sendmail
catre un wrapper catre sendmail care logheaza undeva environment-ul. Macar
iti dai seama in ce director e scriptul hackuit. Acum vreo citiva ani am
facut un astfel de wrapper prea simplu in perl care pe linga body-ul
mailului face si treava cu environmentul:
#!/usr/bin/perl
use strict;
my ($line, $FILE);
my $logfilename="/tmp/phpemails.log";
my @email;
if (!open(FILE, "| /usr/sbin/sendmail -t -i")) {
print STDERR localtime()." Error opening a pipe to sendmail: $!\n";
exit;
}
while($line=<STDIN>) {
print FILE $line;
push(@email, $line);
}
close(FILE);
if (!open(FILE, ">>$logfilename")) {
print STDERR localtime()." Error opening $logfilename: $!\n";
exit;
}
print FILE @email;
foreach $line (keys(%ENV)) {
print FILE "$line -- $ENV{$line}\n";
}
print FILE "\n\n";
close(FILE);
--
Let's cut tha crap, ok? Ce spun eu aici ma reprezinta doar pe mine, si-mi
rezerv dreptul sa ning asupra oricarei companii pe care credeti voi c-as
sprijini-o eu in vreun fel, da?
_______________________________________________
RLUG mailing list
[email protected]
http://lists.lug.ro/mailman/listinfo/rlug