[PHP] Error logging source onbekend

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Noxious
  • Registratie: Juli 2002
  • Laatst online: 10-09 14:45
Ik heb diverse PHP scripts die als service draaien op Windows systemen (zonder webserver dus).
als ik nu de error_log() functie gebruik, krijg ik in het systeemlogboek een melding dat de source niet gevonden is. Overigens wordt de gelogde melding wel netjes weergeven, maar het ziet er zo slordig uit:

code:
1
2
3
4
5
6
7
8
9
10
11
12
Event Type: Information
Event Source:   PHP-5.2.9-1
Event Category: System Event 
Event ID:   2
Date:       8-4-2009
Time:       10:44:04
User:       N/A
Computer:   WVUN009
Description:
The description for Event ID ( 2 ) in Source ( PHP-5.2.9-1 ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer. You may be able to use the /AUXSOURCE= flag to retrieve this description; see Help and Support for details. The following information is part of the event: php[432]; 

X.I.S.E. Client is stopping...


Het gaat hier dus om de melding "The description for Event ID [...] is part of the event: php[432];".
De rest erna is wel goed.

Is er een manier om dit er uit te krijgen? Na een paar uur googlen is dit het enige wat ik tot nu toe heb kunnen vinden: http://bonsai.php.net/bug.php?id=8314 maar daar vind ik nu niet echt direct een oplossing of een schop in de juiste richting.

De code die deze melding genereerd is overigens:

PHP:
1
error_log("\n\nX.I.S.E. Client is stopping..");


Alvast bedankt :9

[ Voor 4% gewijzigd door Noxious op 08-04-2009 10:58 ]


Acties:
  • 0 Henk 'm!

  • DR
  • Registratie: December 2000
  • Niet online

DR

Zie:
HOWTO: Troubleshooting the "Event Message Not Found" Message
http://msdn.microsoft.com/en-us/library/aa363669(VS.85).aspx

die descriptions komen uit de EventMessageFile, als die er niet is, ga je die meldingen o.a. krijgen.

http://marc.info/?l=phpdoc&m=122409614027300&w=2

Daar staat nog een stukje over die eventsource specifiek mbt PHP :)

[edit]
http://cvs.php.net/viewvc...ision=1.2.6.1&view=markup
Wellicht ook handig

[ Voor 13% gewijzigd door DR op 08-04-2009 22:12 ]


Acties:
  • 0 Henk 'm!

  • Noxious
  • Registratie: Juli 2002
  • Laatst online: 10-09 14:45
Bedankt voor je reactie :)

Ik heb het volgende scriptje nu gebruikt:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/* This script sets up an event source for use by the php syslog() function. */
if (!extension_loaded("win32std")) {
    dl("php_win32std.dll");
}

$PATH = "SYSTEM\\CurrentControlSet\\Services\\Eventlog\\Application\\PHP-" . phpversion();
$dll = $argv[1];

if (extension_loaded("win32std")) {
    $key = @reg_create_key(HKEY_LOCAL_MACHINE, $PATH, KEY_ALL_ACCESS);

    if (!$key)
        $key = reg_open_key(HKEY_LOCAL_MACHINE, $PATH, KEY_ALL_ACCESS);

    if ($key) {
        reg_set_value($key, "TypesSupported", REG_DWORD, 7) or die("Types");
        reg_set_value($key, "EventMessageFile", REG_SZ, $dll) or die("EventMessageFile");

        syslog(LOG_NOTICE, "Registered PHP Event source");
    } else {
        echo "Could not register event source\n";
    }
}

/* let's also generate/update the bundled .reg file */

$dll = addslashes($dll);

file_put_contents("syslog.reg", <<<REG
REGEDIT4

[HKEY_LOCAL_MACHINE\\$PATH]
"TypesSupported"=dword:00000007
"EventMessageFile"="$dll"

REG
);


En daarna zelfs nog de .reg file geimporteerd. Werkt echter helaas niet. Ik blijf dezelfde melding krijgen.
Is het eventueel mogelijk om een .php script te 'compileren' naar een executable? Dan zit ik ook niet met die PHP naam in de logs. Ik kwam wel een tooltje tegen wat 'Apollo' heet maar daar is sinds PHP4.nogwat niks meer aan gedaan. Genereert bij mij alleen maar errors :P