note 7805 deleted from install.windows by imajes
| From: | imajes@php.net | Date: | Sat, 13 Apr 2002 16:46:03 +0000 |
| Subject: | note 7805 deleted from install.windows by imajes | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-29215@lists.php.net to get a copy of this message | ||
"CGI Error
The specified CGI application misbehaved by not returning a complete set of HTTP headers. The
headers it did return are:"
The reason PHP.EXE fails with this error message has to do with security attributes on DLLs in the
SYSTEM32
folder on Windows NT. Since it involves
security tokens, this solution would never apply to 95/98/Millenium or on
machines where the system folder is
on a FAT partition.
The problem is related to system DLLs that PHP.EXE is attempting to load 'explicitly',
rather than system DLLs that are 'implicitly' linked by reference into the executable. On
my system, PHP.EXE was failing, because it was attempting to call LoadLibrary on various WINSOCK and
ODBC DLLs in the NT system folder. However, the anonymous account had no Read/Execute writes to
those DLLs. I changed the security attributes of the DLLs in the system32 folder to include
Read/Execute for everyone. This is probably not the most secure approach, but it got me running.
Also, the php3.ini file needed to be granted the same permissions as well.
I discovered this problem by running the NTFILEMON program from www.winternals.com, and noticed that
PHP.EXE was ACCESS_DENIED some DLLs in the system32 folder.
Hope this note helps.