Jump to content

[iis6] issue getting MySQL to work with PHP


Recommended Posts

NOTE: This is a live troubleshooting thread.

Request: do not recommend updates (such as service pack) or disable programs as a first response unless absolutely required and backed up by proof that these things cause said problems. I will ignore any such posts as 'disable your anti-virus' or 'get the latest service pack'.

Specs:

OS: Server 2003 Standard SP2 x86

IIS: v6.0

PHP: v5.2.5.5

MySQL: v5.0.67

Testing source: Mambo v4.6.5

Testing browser: IE8 beta 2 with Dev Tools

Additional Applications:

- MySQL Administrator

Things already done:

- added PHP MySQL dll to Web Service Extensions

- added PHP MySQLi dll to Web Service Extensions

- copied PHP.ini to c:\windows*

- copied libmysql.dll to c:\windows\system and c:\windows\system32**

Behaviour Timeline

1. Installed PHP and MySQL. PHP automatically configured a website in IIS6. Was able to view localhost\test.php (phpinfo()) and it showed information correctly.

2. Installed Mambo into IIS and started the installation. After first page (install1.php) it loads install2.php where it is supposed to connect to the MySQL database and create the tables. This page ended up being blank. Mambo's forums are showing a multitude of possible resolutions, most of which are not applicable or did nothing for me.

3. I downloaded and installed MySQL Administrator to verify that the database was working properly with the credentials I set it up with. I set security to disable Grant Tables, as was directed by a mambo post.

4. I checked install1.php and it said that Strict MySQL was not supported. I used the MySQL's version of the Query Analyzer to set compatibility to MySQL v4.

5. Thinking that PHP wasn't able to see MySQL (it was not appearing in the test.php results), I added the Web Service Extensions for PHP's MySQL and MySQLi DLLs. no change.

6. I copied MySQL's libmysql.dll into c:\windows\system and c:\windows\system32 and restarted IIS (note: I restart IIS after each change) and now am receiving this message in IE8 to either test.php or install1.php.

No input file specified.

Event Viewer also gives me this message:

Source: W3SVC

Event ID: 1009

Desc: A process serving application pool 'DefaultAppPool' terminated unexpectedly. The process id was '2252'. The Process exit code was 0xC0000005.

Thinking that IIS did not have access rights to the new DLLs I copied into the System folders, I added LOCALHOST\NETWORK SERVICE to read access to each of the files. This has not resolved the issue.

I downloaded a program called iisstate which can debug IIS (inetinfo.exe). The new PID is 3988. I know Cluberti is good at reading these dump files, and I have a general idea about them, but I can't find an issue with this info:

EDIT: Removed iisstart.exe dump information. The MS debugger (info in following posts) is much better with the information.

The full dump file is 32MB!

A note about the above message about ASP. ASP's Web Service Extension is Prohibited, but has ASP.NET v1.1.4322 and ASP.NET v2.0.50727 Allowed. I do not plan on using any form of ASP on my server.

Edited by Tripredacus
Link to comment
Share on other sites


I installed Microsoft's IIS Debugger but I am unable to recreate the error from before. I am reverting back to the "no input file specified" issue.

In IIS, Web Sites Properties, ISAPI Filters, add php with php\php5isapi.dll as the source.

Restart IIS.

Error after resumed:

A process serving application pool 'DefaultAppPool' terminated unexpectedly. The process id was '2144'. The process exit code was '0xffffffff'.

Still unable to view PHP. ASP working with debugger file which opened in IE. Results:

In w3wp__PID__2144__Date__11_05_2008__Time_01_52_36PM__298__Second_Chance_Exception_C0000005.dmp the assembly instruction at w3core!W3_SERVER::Terminate+164 in c:\WINDOWS\system32\inetsrv\w3core.dll from Microsoft Corporation has caused an access violation exception (0xC0000005) when trying to read from memory location 0x608fc030 on thread 0

And

Report for w3wp__PID__2144__Date__11_05_2008__Time_01_52_36PM__298__Second_Chance_Exception_C0000005.dmp

Type of Analysis Performed Crash Analysis

Machine Name SKYLYNX

Operating System Windows Server 2003 Service Pack 2

Number Of Processors 2

Process ID 2144

Process Image c:\WINDOWS\system32\inetsrv\w3wp.exe

System Up-Time 4 day(s) 22:38:08

Process Up-Time 0 day(s) 00:05:24

Thread 0 - System ID 6064

Entry point w3wp!wmainCRTStartup

Create time 11/5/2008 1:47:12 PM

Time spent in user mode 0 Days 0:0:0.187

Time spent in kernel mode 0 Days 0:0:0.46

Function Arg 1 Arg 2 Arg 3 Source

w3core!W3_SERVER::Terminate+164 00000000 01001418 010013e4

w3core!UlW3Start+280 00000007 00263b58 00000000

w3wp!wmain+22a 00000007 00263b58 002645e0

w3wp!wmainCRTStartup+12f 00000000 00000000 7ffdc000

kernel32!BaseProcessStart+23 010018f8 00000000 78746341

Module Information

Image Name: c:\WINDOWS\system32\inetsrv\w3core.dll

Base address: 0x5a390000

Checksum: 0x00064439

COM DLL: FALSE

ISAPIExtension: FALSE

ISAPIFilter: FALSE

Managed DLL: FALSE

VB DLL: FALSE

Loaded Image Name: w3core.dll

Mapped Image Name:

Module name: w3core

Single Threaded: FALSE

Module Size: 352.00 KBytes

Symbol File Name: c:\symcache\w3core.pdb\1BD3D6C6BC5C44D3B496F792D23444952\w3core.pdb

Symbol Type: PDB

Time Stamp: Sat Feb 17 09:01:40 2007

Comments:

Company Name: Microsoft Corporation

File Description: IIS Web Server Core

File Version: 6.0.3790.3959 (srv03_sp2_rtm.070216-1710)

Internal Name: w3core.dll

Legal Copyright: © Microsoft Corporation. All rights reserved.

Legal Trademarks:

Original filename: w3core.dll

Private Build:

Product Name: Internet Information Services

Product Version: 6.0.3790.3959

Special Build: &

Edited by Tripredacus
Link to comment
Share on other sites

Changed php.ini line:

doc_root = C:\Inetpub\wwwroot

In both default location (from start menu) and c:\windows

Restarted IIS.

No input error is gone. Now PHP pages appear as blank!

Error

In w3wp__PID__4884__Date__11_05_2008__Time_02_04_54PM__423__First chance exception 0X800401F0.dmp the assembly instruction at kernel32!RaiseException+53 in C:\WINDOWS\system32\kernel32.dll from Microsoft Corporation has caused an unknown exception (0x800401f0) on thread 0

This exception originated from rpcrt4!RpcpRaiseException+24.

and

Type of Analysis Performed Crash Analysis

Machine Name

Operating System Windows Server 2003 Service Pack 2

Number Of Processors

Process ID 4884

Process Image c:\WINDOWS\system32\inetsrv\w3wp.exe

System Up-Time 0 day(s) 00:00:00

Process Up-Time 0 day(s) 00:11:32

Thread 0 - System ID 4112

Entry point w3wp!wmainCRTStartup

Create time 11/5/2008 1:53:22 PM

Time spent in user mode 0 Days 0:0:0.265

Time spent in kernel mode 0 Days 0:0:0.156

Function Arg 1 Arg 2 Arg 3 Source

kernel32!RaiseException+53 800401f0 00000001 00000000

rpcrt4!RpcpRaiseException+24 800401f0 776762b8 000b82c4

rpcrt4!NdrProxyGetBuffer+57 000b82c4 0006f51c 0600016e

rpcrt4!NdrClientCall2+173 776762b8 776792b0 0006f8f4

rpcrt4!ObjectStublessClient+8b 00000010 00000005 0006f904

rpcrt4!ObjectStubless+f 000b82c4 00000001 000b6b68

ole32!RemoteReleaseRifRefHelper+86 000b82c4 00098008 00000001

ole32!RemoteReleaseRifRef+74 000b82c4 00098008 00000001

ole32!CStdMarshal::DisconnectCliIPIDs+245 000d252c 000d2528 00000000

ole32!CStdMarshal::Disconnect+193 00000002 000d25d0 000d2528

ole32!CStdIdentity::~CStdIdentity+89 000d2528 0006fa0c 776ba675

ole32!CStdIdentity::`scalar deleting destructor'+d 00000001 0000003d 000d17cc

ole32!CStdIdentity::CInternalUnk::Release+6b 80000000 0006fa28 608f5225

rpcrt4!IUnknown_Release_Proxy+11 000d17cc 0592f1b8 00000044

admwprox!Hooked_IUnknown_Release_Proxy+26 000d17cc 02b02ddc 000d17cc

php_iisfunc+108a 00000000 00000000 00000000

And

Error

In w3wp__PID__4884__Date__11_05_2008__Time_02_05_02PM__595__Second_Chance_Exception_C0000005.dmp the assembly instruction at w3core!W3_SERVER::Terminate+164 in c:\WINDOWS\system32\inetsrv\w3core.dll from Microsoft Corporation has caused an access violation exception (0xC0000005) when trying to read from memory location 0x608fc030 on thread 0

and

w3wp__PID__4884__Date__11_05_2008__Time_02_05_02PM__595__Second_Chance_Exception_C0000005.dmp

Type of Analysis Performed Crash Analysis

Machine Name SKYLYNX

Operating System Windows Server 2003 Service Pack 2

Number Of Processors 2

Process ID 4884

Process Image c:\WINDOWS\system32\inetsrv\w3wp.exe

System Up-Time 4 day(s) 22:50:34

Process Up-Time 0 day(s) 00:11:40

Thread 0 - System ID 4112

Entry point w3wp!wmainCRTStartup

Create time 11/5/2008 1:53:22 PM

Time spent in user mode 0 Days 0:0:0.312

Time spent in kernel mode 0 Days 0:0:0.156

Function Arg 1 Arg 2 Arg 3 Source

w3core!W3_SERVER::Terminate+164 00000000 01001418 010013e4

w3core!UlW3Start+280 00000007 00263b58 00000000

w3wp!wmain+22a 00000007 00263b58 002645e0

w3wp!wmainCRTStartup+12f 00000000 00000000 7ffdc000

kernel32!BaseProcessStart+23 010018f8 00000000 78746341

Link to comment
Share on other sites

Added MySQL login information into mambo\configuration.php. Normally the installer script is supposed to do this for you.

Created an empty database in MySQL called test.

IIS Web Service Extensions. Enabled Server Side Includes. Enabled All Unknown CGI Extensions.

Added MySQL\bin to Environment Variables PATH.

Changed Application Extension Mapping for .php to C:\Program Files\PHP\php-cgi.exe.

restarted IIS.

CGI Error

The specified CGI application misbehaved by not returning a complete set of HTTP headers.

Changed Application mapping back to php5isapi.dll.

MySQL now appears in the PHPinfo, but only as the path environment variable. install2.php is still blank.

Changed this in php.ini

extension_dir="C:\Program Files\PHP\ext"

Installed PEAR.

C:\PROGRA~1\PHP>go-pear

PHP Warning: PHP Startup: Unable to load dynamic library 'C:\Program Files\PHP\

ext\php_exif.dll' - The specified module could not be found.

in Unknown on line 0

About 30 other failures. I have tried ./ext, .\ext, \ext and the full path above. I confirmed that these files actually exist. Granted Everyone access to this folder.

Link to comment
Share on other sites

Changed Application Mapping to: C:\Progra~1\php5\php5isapi.dll. Restarted IIS. Got 404 error. Changed back to original path.

Added PHP ISAPI DLL (C:\Program Files\PHP\php5isapi.dll) to ISAPI Filters. Restarted IIS. Changed PHP.INI:

extension_dir="C:\Progra~1\PHP\ext". Reorganized php.ini's extensions as follows:

[PHP_MBSTRING]
extension=php_mbstring.dll
[PHP_EXIF]
extension=php_exif.dll

END OF THE DAY

CURRENT ISSUES:

1. MySQL information (besides PATH variable info) is not showing up in PHPINFO() results

2. Mambo getting blank page on install2.php (where it is supposed to be connecting to MySQL to populate the database)

3. Unable to install PEAR

Link to comment
Share on other sites

Another hunch. Disable Trend Firewall. Nope. Re-enable Firewall. Verified that ICF is disabled. Unable to turn on ICF for reasons:

Windows Firewall cannot run because another program or service is running that might use the network address translation component

(Ipnat.sys)

Add the EXT path (C:\Program Files\PHP\ext) to Environment PATH variable. Found a typo in there, appeared to have been created by the MSSQL 2003 install. Restart IIS. Change extension_dir to ./ext/. restart IIS. Change extension_dir to .\ext\. restart IIS. Examining Mambo source. Example: install.php does not work. It redirects to the site (mambo) index.php. The images do not appear on the index.php. Image path

Source of install.php (which is supposed to do a pre-installation check) includes:

if (file_exists( '../configuration.php' ) && filesize( '../configuration.php' ) > 10) {
header( 'Location: ../index.php' );
exit();

I can confirm that there is a configuration.php, however this was because originally the first instruction was to rename a file to this before starting the installer. Renamed to x_configuration.php. This allows me to see the license aggreement. The first step (pre-installation check) is not available. Using installation/index.php, I can now see the pre-installation check.

PHP version >= 4.3.0 Yes

- zlib compression support Available

- XML support Available

- MySQL support Unavailable

- Note: MySQL Strict Mode is not supported

configuration.php Writeable

Session save path Not set, Unwriteable

I can confirm that MySQL is not using strict mode. PHP.INI shows this var:

session.save_path="C:\DOCUME~1\ADMINI~1.DS1\LOCALS~1\Temp\php\session"

The actual full name of the profile is cut off. A new Administrator account was created when this server was unpromoted! Changing to another folder for now, ie. E:\install_temp. Setting appropriate NTFS permissions. Restart IIS. Refresh installation\index.php, now PHP error:

Warning: fopen(langconfig.php) [function.fopen]: failed to open stream: Permission denied in C:\Inetpub\wwwroot\mambo\installation\index.php on line 47

This refers to the following code:

$filename = "langconfig.php";
if(is_writable($filename)) {}

IIS_WPG and IUSR_DS1-SKYLYNX to permissions on folder. Add everyone full control to installation folder. Error resolved. Session Save Path is still not writeable. PHPInfo() shows session.save_path as having no value. This may be because PHP is looking for the PHP.INI in the wrong folder. HOWEVER it is obviously loading it from the PHP folder (not c:\windows) because SOME changes I do make to it actually work... So let's return to that issue to start with. PHP.net has a suspended bug report for this issue.

http://bugs.php.net/bug.php?id=42849

Created the following registry keys

HKEY_LOCAL_MACHINE\SOFTWARE\PHP\5\IniFilePath -> C:\Program Files\PHP\php.ini

HKEY_LOCAL_MACHINE\SOFTWARE\PHP\IniFilePath -> C:\Program Files\PHP\php.ini

restart iis. Another bug report:

http://bugs.php.net/bug.php?id=37919

extension_dir is also incorrect, hence why MySQL isn't loading. Adding NEW environment variable called PHPRC to PHP folder. restart iis. restarting server.

LUNCH TIME! I think i'm on the right path finally. I remember trying to get PHP to work with IIS6 and Server 2003 a few years ago. I ended

up scrapping PHP and using ASP.NET exclusively. Now I know why!

Link to comment
Share on other sites

Hmmm well PHP is totally down right now and I've got a lot of errors. Some came back from before. Here we go again!

Error_01

Application Error

Faulting application w3wp.exe, version 6.0.3790.3959, faulting module w3core.dll, version 6.0.3790.3959, fault address 0x000201b4.

Error_06

W3SVC (1009)

A process serving application pool 'DefaultAppPool' terminated unexpectedly. The process id was '3492'. The process exit code was '0xC0000005'.

That's it in the Event Viewer. Obviously the W3SVC is causing an error again, that had previously gone away. I am to examine the crash dumps now to see what they have in store for me. There are 3 new IIS mini-dumps that were created since last time I checked this, but they are all from yesterday, not since the last reboot. For a hunch (so far 1-2 on hunches) I am going to take out the php.ini from the PHP folder to see if PHP comes back or not. If you remember, when I put the php.ini in the Windows folder, PHP also did not work again. I stuck it in PHP\DEV for now. Restart IIS. RESULT = PHP works again... There was another thing I saw mentioned on another website before I rebooted. I forgot to bookmark it but I think I can do it again. Comment out this line in PHP.ini and put back into PHP folder.

;doc_root = C:\Inetpub\wwwroot

Restart IIS. Now PHP still works and the php.ini is in the correct folder. No config was loaded and config file is looking in the wrong place. Test, put php.ini into c:\windows. Restart IIS. Change Environment variable for PHPRC to C:\WINDOWS. Restart IIS. Verify no change in Firefox. Firefox shows nothing. Only IE shows this or any PHP page. Verified localhost is a Trusted Site. Add everyone read permissions on c:\windows\php.ini. Restart IIS. Modify the following registry entry to:

HKEY_LOCAL_MACHINE\SOFTWARE\PHP\IniFilePath -> C:\\Program Files\\PHP\\php.ini

restart IIS. PHP is broken. Remove PHP.INI from C:\Windows and reset environment variable. restart IIS. issue: IE was caching the page. PHP had stopped working and I had not known it... :sneaky: PHP still broken... No IIS crashes or hangs. Need to backtrack now.

Taking a short break.

Edited by Tripredacus
Link to comment
Share on other sites

Back again after a great conversation about Vista commercials... Its a nice day outside today! It's 77 degrees at my desk! AHHH!

unremark doc_root in PHP.ini. Restart IIS. Take PHP.ini into dev folder again. Restart IIS. PHP is working with no INI file again... So I can confirm that now IIS is looking for the correct place for the PHP.ini, but it can't start properly. Looking over the file itself, there isn't anything that appears wrong with it, and if so I've documented all changes I've made to it in this thread. Filled out the MySQL credential information. restart IIS. PHP failed. Moved file to DEV. Disabled SSL extension. Restart IIS. Added override for all websites (even though there are only 1) for Execute Permissions to Scripts Only. restart IIS. Changed this line:

extension_dir="c:\program files\php\ext\"

restart IIS. run PHP.

C:\Documents and Settings\Administrator.DS1-SKYLYNX>php

PHP Warning: PHP Startup: Unable to load dynamic library 'c:\program files\php\

ext\php_oci8.dll' - The specified module could not be found.

in Unknown on line 0

PHP Warning: PHP Startup: Unable to load dynamic library 'c:\program files\php\

ext\php_pdo_oci.dll' - The specified module could not be found.

in Unknown on line 0

PHP Warning: PHP Startup: Unable to load dynamic library 'c:\program files\php\

ext\php_pdo_oci8.dll' - The specified module could not be found.

in Unknown on line 0

PHP Warning: PHP Startup: Unable to load dynamic library 'c:\program files\php\

ext\php_pdo_sqlite_external.dll' - The specified module could not be found.

in Unknown on line 0

PHP Warning: PHP Startup: Unable to load dynamic library 'c:\program files\php\

ext\php_pspell.dll' - The specified module could not be found.

in Unknown on line 0

PHP Warning: PHP Startup: Unable to load dynamic library 'c:\program files\php\

ext\php_sybase_ct.dll' - The specified module could not be found.

in Unknown on line 0

PHP Warning: PHP Startup: Unable to load dynamic library 'c:\program files\php\

ext\php_ibm_db2.dll' - The specified module could not be found.

in Unknown on line 0

PHP Warning: PHP Startup: Unable to load dynamic library 'c:\program files\php\

ext\php_ifx.dll' - The specified module could not be found.

in Unknown on line 0

PHP Warning: PHP Startup: Invalid library (maybe not a PHP library) 'php_ingres

2.dll' in Unknown on line 0

PHP Warning: PHP Startup: Unable to load dynamic library 'c:\program files\php\

ext\php_maxdb.dll' - The specified module could not be found.

in Unknown on line 0

PHP Warning: PHP Startup: Unable to load dynamic library 'c:\program files\php\

ext\php_mcve.dll' - The specified module could not be found.

in Unknown on line 0

PHP Warning: PHP Startup: Unable to load dynamic library 'c:\program files\php\

ext\php_netools.dll' - The specified module could not be found.

in Unknown on line 0

PHP Warning: PHP Startup: Unable to load dynamic library 'c:\program files\php\

ext\php_oracle.dll' - The specified module could not be found.

in Unknown on line 0

PHP Warning: PHP Startup: Unable to load dynamic library 'c:\program files\php\

ext\php_pdo_ibm.dll' - The specified module could not be found.

in Unknown on line 0

PHP Warning: PHP Startup: Unable to load dynamic library 'c:\program files\php\

ext\php_pdo_informix.dll' - The specified module could not be found.

in Unknown on line 0

PHP Warning: PHP Startup: Unable to load dynamic library 'c:\program files\php\

ext\php_svn.dll' - The specified module could not be found.

in Unknown on line 0

PHP Warning: PHP Startup: Unable to load dynamic library 'c:\program files\php\

ext\php_ingres.dll' - The specified module could not be found.

in Unknown on line 0

Cannot find module (IP-MIB): At line 0 in (none)

Cannot find module (IF-MIB): At line 0 in (none)

Cannot find module (TCP-MIB): At line 0 in (none)

Cannot find module (UDP-MIB): At line 0 in (none)

Cannot find module (SNMPv2-MIB): At line 0 in (none)

Cannot find module (SNMPv2-SMI): At line 0 in (none)

Cannot find module (UCD-SNMP-MIB): At line 0 in (none)

Cannot find module (UCD-DEMO-MIB): At line 0 in (none)

Cannot find module (SNMP-TARGET-MIB): At line 0 in (none)

Cannot find module (SNMP-VIEW-BASED-ACM-MIB): At line 0 in (none)

Cannot find module (SNMP-COMMUNITY-MIB): At line 0 in (none)

Cannot find module (UCD-DLMOD-MIB): At line 0 in (none)

Cannot find module (SNMP-FRAMEWORK-MIB): At line 0 in (none)

Cannot find module (SNMP-MPD-MIB): At line 0 in (none)

Cannot find module (SNMP-USER-BASED-SM-MIB): At line 0 in (none)

Cannot find module (SNMP-NOTIFICATION-MIB): At line 0 in (none)

Cannot find module (SNMPv2-TM): At line 0 in (none)

PHP Warning: require_once(SAM/php_sam.php): failed to open stream: No such file

or directory in sam_factory on line 1

PHP Fatal error: require_once(): Failed opening required 'SAM/php_sam.php' (inc

lude_path='.;C:\php5\pear') in sam_factory on line 1

Could not startup.

Error in my_thread_global_end(): 3 threads didn't exit

Commented out all the extensions that PHP said it couldn't load. restart iis. Running PHP from the command prompt now does not give any errors but PHP still isn't working. Each time I'm restarting IIS, W3SVC is crashing still. There are no new Crash Dumps reported by the debugger. On to troubleshooting the event. Oops my bad, the debugger was disabled. Turned it back on and restart IIS... This bug is referenced here:

http://bugs.php.net/bug.php?id=38111

Hotfix available (can't find it)

http://support.microsoft.com/kb/892988

Changed Local App Pool to Local Service. Restart IIS. No user dump created. Service Unavailable message in IE. Change to Local System. Restart IIS. Blank PHP. New event:

Application pool 'DefaultAppPool' is being automatically disabled due to a series of failures in the process(es) serving that application pool.

Specify Account: IWAM_DS1-SKYLYNX. Crash Dump created... Specify as Administrator...

The identity of application pool, 'DefaultAppPool' is invalid. If it remains invalid when the first request for the application pool is processed, the application pool will be disabled. The data field contains the error number.

I'm going home... :(

Link to comment
Share on other sites

Changed Identity back to NETWORK SERVICE (default). Attempted to install hotfix, but it failed (newer version already installed). Made cross-post in 2003 forum. Made cross-forum post on DevShed's IIS forum. I am effectively waiting for help at this point, unless I dream up something over the weekend, i'm spent on this issue.

:wacko:

Link to comment
Share on other sites

I tried posting on DevShed (my old hangout before here) but have found they aren't as good as they used to be. This place is much better.

I gots a couple new errors to deal with here.

Source: Application Error

Event ID: 1004

Description: Reporting queuing error: faulting application php.exe, version 5.2.5.5, faulting module php5ts.dll, version 5.2.5.5, fault address 0x0009a0fd.

Source: W3SVC

Event ID: 1009

Description: A process serving application pool 'DefaultAppPool' terminated unexpectedly. The process id was '600'. The process exit code was '0xffffffff'.

A possible lead:

http://support.microsoft.com/kb/918041/en-us

Added NETWORK SERVICE account to the IIS_WPG User Group. Now running Filemon on php.exe and w3svc.exe. Added permissions for IIS_WPG to PHP regkeys. Restart IIS. Added php5ts.dll, w3wp.exe, w3core.dll to filemon include list. Removed W3svc.exe. Restart IIS. Remarked out PHP_APC (Alterative PHP Cache) which has been reported to having a problem with multi-threaded environments.

[PHP_APC]
;extension=php_apc.dll

http://bugs.php.net/bug.php?id=41471

After trying to view the page in IE8, I am getting a couple NAME_NOT_FOUND messages in ProcMon. Both are RegQueryValue.

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\DllNXOptions\w3core.dll

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\DllNXOptions\php5ts.dll

In this regkey (DllNXOptions) there is no line for either of these items. This was executed by the w3wp.exe process. Added c:\windows\system32\inetsrv\w3wp.exe to the DEP exception list. This adds an 'IIS Worker Process' option to the list. Adding PHP.exe to the DEP exception list, which appears as CLI.

Restarting to see if DEP changes require it.

Link to comment
Share on other sites

It appears that DllNXOptions key is a list of DLLs known to be incompatible with DEP. As a test, adding the above registry keys, setting to 0, that w3wp.exe had tried to locate before.

Now, again receiving Access Denied warning for w3svc. This happens before the event logging the stop portion of the IIS Restart occurs. This error may be a false positive. Here is a timestamp comparison:

11/11/2008 - 15:46:50 - W3SVC: DefaultAppPool terminated unexpectedly, access denied

11/11/2008 - 15:46:50 - W3WP: crashes with w3core.dll

11/11/2008 - 15:46:58 - IISCTLS: stop command logged (iis restart)

11/11/2008 - 15:47:03 - IISCTLS: start command logged (iis restart)

Based on just these event logs, it would appear that when you use the IIS CPL to restart IIS, it does not properly stop servicing the Application Pools. When the listener suddenly finds that the resources it requires have gone missing (because Windows is restarting IIS) the application crashes. Note, that it does actually start up again without a problem, so this specific message might be possible to ignore altogether.

So using ProcMon data when trying to view a PHP page in IE, after these changes have been made. There is no page being displayed, but there are more events logged by ProcMon. w3wp.exe now is able to find the new registry entry that was added, of course the value is 0. All other keys in that section have a 1 as their value, and it does actually start reading the php5ts.dll. Changing this value to 1. Now it appears that it doesn't read the files as much, in fact only once. New dump information.

Entry point w3wp!wmainCRTStartup

Create time 11/11/2008 3:57:59 PM

Time spent in user mode 0 Days 0:0:0.218

Time spent in kernel mode 0 Days 0:0:0.187

Function Arg 1 Arg 2 Arg 3 Source

kernel32!RaiseException+53 800401f0 00000001 00000000

rpcrt4!RpcpRaiseException+24 800401f0 776762b8 000c9504

rpcrt4!NdrProxyGetBuffer+57 000c9504 0007f51c 0600016e

rpcrt4!NdrClientCall2+173 776762b8 776792b0 0007f8f4

rpcrt4!ObjectStublessClient+8b 00000010 00000005 0007f904

rpcrt4!ObjectStubless+f 000c9504 00000001 000cc1f0

ole32!RemoteReleaseRifRefHelper+86 000c9504 000ac330 00000001

ole32!RemoteReleaseRifRef+74 000c9504 000ac330 00000001

ole32!CStdMarshal::DisconnectCliIPIDs+245 000dd1cc 000dd1c8 00000000

ole32!CStdMarshal::Disconnect+193 00000002 000dd270 000dd1c8

ole32!CStdIdentity::~CStdIdentity+89 000dd1c8 0007fa0c 776ba675

ole32!CStdIdentity::`scalar deleting destructor'+d 00000001 0000003c 000dd4fc

ole32!CStdIdentity::CInternalUnk::Release+6b 80000000 0007fa28 608f5225

rpcrt4!IUnknown_Release_Proxy+11 000dd4fc 03a7ea90 00000070

admwprox!Hooked_IUnknown_Release_Proxy+26 000dd4fc 02bf2ddc 000dd4fc

php_iisfunc+108a 00000000 00000000 00000000

Adding kernel32.dll to ProcMon. Additional infos from ProcMon:

w3wp.exe NAME_NOT_FOUND c:\windows\system32\inetsrv\w3wp.exe.Local

w3wp.exe NAME_NOT_FOUND HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\DllNXOptions\kernel32.dll

w3wp.exe NAME_NOT_FOUND HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\w3wp.exe\RpcThreadPoolThrottle

To continue fighting this blasted thing... yes I am now realising that I could possibly be destroying my computer here. I might add at this point that I've been trying to get this IIS and PHP working on my production computer. Not one of the test machines that I have discussed in the Unclesocks thread. Nope this computer (SKYLYNX) is my regular one... At least all my data is kept on a separate drive hee hee.

Going to add the RPCThreadPoolThrottle settings. As a default, using these:

http://support.microsoft.com/kb/267255

Is there ever a time where ANYWHERE in the Windows Registry, you found a helper key to show you how to do something? In the Image File Execution Options key, there is another that says "Your Image File Name Here without a path". :lol: Well adding these options came up with a WHOLE bunch of other stuff it couldn't find...

w3wp.exe NAME_NOT_FOUND HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\w3wp.exe\ExecuteOptions

w3wp.exe NAME_NOT_FOUND HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\w3wp.exe\DisableHeapLookaside

w3wp.exe NAME_NOT_FOUND HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\w3wp.exe\ShutdownFlags

w3wp.exe NAME_NOT_FOUND HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\w3wp.exe\MinimumStackCommitInBytes

w3wp.exe NAME_NOT_FOUND HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\w3wp.exe\GlobalFlag

w3wp.exe NAME_NOT_FOUND HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\w3wp.exe\ShowRecursiveDllLOads

w3wp.exe NAME_NOT_FOUND HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\w3wp.exe\BreakOnRecursiveDllLoads

w3wp.exe NAME_NOT_FOUND HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\w3wp.exe\ShowLoaderErrors

w3wp.exe NAME_NOT_FOUND HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\w3wp.exe\BreakOnInitializeProcessFailure

w3wp.exe NAME_NOT_FOUND HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\w3wp.exe\KeepActivationContextsAlive

w3wp.exe NAME_NOT_FOUND HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\w3wp.exe\TrackActivationContextReleases

w3wp.exe NAME_NOT_FOUND HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\w3wp.exe\MaxDeadActivationContexts

w3wp.exe NAME_NOT_FOUND HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\w3wp.exe\DebugProcessHeapOnly

That's it for today!

Link to comment
Share on other sites

I got rid of all errors by changing to a different application pool. Now I get NO errors (as I said) and PHP isn't working. I'm sunk now. ProcMon shows nothing, and Event Viewer has no more errors and no crashes are happening on IIS restart anymore...

Maybe its time to try apache.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...