mirror of
https://github.com/php/php-src.git
synced 2024-11-28 04:14:26 +08:00
Revert "Remove Windows syslog script and syslog.reg"
This reverts commit cc44bad1f6
, since its
assumptions were not correct. Actually, the classic event logging is
still used by PHP, because Windows 7 is still to be supported for a
while. Without the respective registry entries, the event log entries
show an error message regarding missing ID descriptions.
Thanks to ab@php.net for hinting at this!
Obviously, the part depending on ext/win32std has still to be
overhauled, and further improvements are conceivable; we will address
this in due course.
This commit is contained in:
parent
56a2ea7aa2
commit
6f617b7759
@ -261,3 +261,6 @@ really-install:
|
||||
@type nul > $(BUILD_DIR)\extension_dlls.txt
|
||||
@if exist $(BUILD_DIR)\php_*.dll copy $(BUILD_DIR)\php_*.dll $(PHP_PREFIX)\ext /y >nul & dir /b $(BUILD_DIR)\php_*.dll > $(BUILD_DIR)\extension_dlls.txt
|
||||
@xcopy $(BUILD_DIR)\*.dll /exclude:$(BUILD_DIR)\extension_dlls.txt $(PHP_PREFIX) /y >nul
|
||||
@echo Registering event source with syslog (requires admin rights)
|
||||
@echo It's okay for this step to fail:
|
||||
-$(PHP_PREFIX)\php.exe -n -dextension_dir=$(PHP_PREFIX) win32/build/registersyslog.php $(PHP_PREFIX)\$(PHPDLL)
|
||||
|
44
win32/build/registersyslog.php
Executable file
44
win32/build/registersyslog.php
Executable file
@ -0,0 +1,44 @@
|
||||
<?php
|
||||
|
||||
/* 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("win32/syslog.reg", <<<REG
|
||||
REGEDIT4
|
||||
|
||||
[HKEY_LOCAL_MACHINE\\$PATH]
|
||||
"TypesSupported"=dword:00000007
|
||||
"EventMessageFile"="$dll"
|
||||
|
||||
REG
|
||||
);
|
||||
|
||||
|
||||
?>
|
5
win32/syslog.reg
Normal file
5
win32/syslog.reg
Normal file
@ -0,0 +1,5 @@
|
||||
REGEDIT4
|
||||
|
||||
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\PHP-7.3.0-dev]
|
||||
"TypesSupported"=dword:00000007
|
||||
"EventMessageFile"="g:\\test\\srctrunkinstall\\php7ts.dll"
|
Loading…
Reference in New Issue
Block a user