meth
11-22-2006, 03:24 PM
Would anyone like to throw in some lateral ideas on what could possibly foul up a PHP install on a Win 2k3 IIS server (.NET v1.1).
PHP 4.4.4 was originally installed, vanilla flavoured from php.net's msi installer. Although cgi, it basically worked (phpinfo() was fine) however calls to mysql functions threw 'procedure not found' errors.
As with all subsequent attempts in installing PHP, install.txt's directions were followed to a T along with php.net's recommendations for Win 2k3 IIS:
Extract win32php files to c:\php
Move files in c:\php\dlls and c:\php\sapi to c:\php
Edit System PATH .= ;c:\php
Edit php.ini:
extension_dir = c:\php\extensions (ext for v.5)
doc_root = c:\inetpub\wwwroot
cgi.force_redirect = 0
(even though system PATH includes c:\php)
Move php.ini to %systemroot%\.
Move php4ts.dll to %systemroot%\system32
Apply IUSR & IWAM perms to php.ini and php4ts.dll
Config IIS 6:
Web Service Extension = PHP -> %systemroot%\system32\php4ts.dll
Application Properties = .php -> %systemroot%\system32\php4ts.dll
(php.exe used in cgi mode)
Default doc = index.php, default.php
I've tried the following to get each php version to run properly:
PHP 4.3.11, 4.4.4 & 5.0.2 manual installs and 4.4.4 & 5.0.2 installers. All downloaded from php.net
Removing all previous version php files before upgrading/downgrading.
Trolling the registry and deleted stale entries left behind by installers.
Copying all dll and sapi files to %systemroot%\system32 folder.
System searches for duplicate php.ini and phpXts.dll files.
Used a dll dependency walker to test phpXts.dll's dependency files are found. (MSJAVA.dll wasn't, so I copied that over to the system).
Used a dupe dll app to find dupes.
Adding inifilepath to registry.
Mysql 4.1 was also installed before php. After installing php5, I found conflicting libmysql.dll files in mysql\bin and php\ directories. So I tried moving either one into %systemroot%\system32 and renaming the other. No change. I then uninstalled mysql just in case.
Downgrading to php v 4.3.11 (current version in place)
I also tried dozens of other possible solutions found on the net, none of which seem to change matters. All I can get now is a 404 error if php is in cgi mode or a "The specified procedure could not be found" error message if using dll's.
Any ideas on how to troubleshoot this further would be greatly appreciated.
PHP 4.4.4 was originally installed, vanilla flavoured from php.net's msi installer. Although cgi, it basically worked (phpinfo() was fine) however calls to mysql functions threw 'procedure not found' errors.
As with all subsequent attempts in installing PHP, install.txt's directions were followed to a T along with php.net's recommendations for Win 2k3 IIS:
Extract win32php files to c:\php
Move files in c:\php\dlls and c:\php\sapi to c:\php
Edit System PATH .= ;c:\php
Edit php.ini:
extension_dir = c:\php\extensions (ext for v.5)
doc_root = c:\inetpub\wwwroot
cgi.force_redirect = 0
(even though system PATH includes c:\php)
Move php.ini to %systemroot%\.
Move php4ts.dll to %systemroot%\system32
Apply IUSR & IWAM perms to php.ini and php4ts.dll
Config IIS 6:
Web Service Extension = PHP -> %systemroot%\system32\php4ts.dll
Application Properties = .php -> %systemroot%\system32\php4ts.dll
(php.exe used in cgi mode)
Default doc = index.php, default.php
I've tried the following to get each php version to run properly:
PHP 4.3.11, 4.4.4 & 5.0.2 manual installs and 4.4.4 & 5.0.2 installers. All downloaded from php.net
Removing all previous version php files before upgrading/downgrading.
Trolling the registry and deleted stale entries left behind by installers.
Copying all dll and sapi files to %systemroot%\system32 folder.
System searches for duplicate php.ini and phpXts.dll files.
Used a dll dependency walker to test phpXts.dll's dependency files are found. (MSJAVA.dll wasn't, so I copied that over to the system).
Used a dupe dll app to find dupes.
Adding inifilepath to registry.
Mysql 4.1 was also installed before php. After installing php5, I found conflicting libmysql.dll files in mysql\bin and php\ directories. So I tried moving either one into %systemroot%\system32 and renaming the other. No change. I then uninstalled mysql just in case.
Downgrading to php v 4.3.11 (current version in place)
I also tried dozens of other possible solutions found on the net, none of which seem to change matters. All I can get now is a 404 error if php is in cgi mode or a "The specified procedure could not be found" error message if using dll's.
Any ideas on how to troubleshoot this further would be greatly appreciated.