Hm... Well, I used the same by hand method that I've always used in IIS6 and it worked fine for IIS7 on my Server 2008 test box. The ISAPI Extensions have their own directory by default which I use ... Instead of trying to asign IIS Execute permissions to some other part of the file system that will most likely leave holes in the box.
It's usually best not to fiddle with the permissions on that sort of thing if you want to have a prayer of a secure box (e.g. I never use the installer).
Here's a Snippet from my notes:CODE
These are the Files & File Paths used for the MySQL db &
PHP Script support installation on IIS6 (and IIS7)
FOR PHP SUPPORT ONLY:
C:\Windows\php.ini
C:\Windows\System32\php5ts.dll
C:\Windows\System32\inetsrv\php5isapi.dll
---------------------------------------------------------
For PHP with MySQL Support ADD These Files:
C:\Windows\System32\libmysql.dll <-"Helper" File, Required for ANY of the Extensions to Work)
C:\Windows\System32\inetsrv\phpext\php_mysql.dll
---------------------------------------------------------
IF Using MS-SQL (Which Includes the MSDE Version) ADD These Files:
C:\Windows\System32\ntwdblib.dll
C:\Windows\System32\inetsrv\phpext\php_mssql.dll
NOTE: I'm not "Sure" if MS-SQL/MSDE Requires libmysql.dll as I've not had time to "test" the Theory.
...But it Couldn't Hurt to Throw it in ... Just to be on the "Safe Side"...;-)
NOTE: These additional Files are required (in these locations) to load & run the PHP_cURL.DLL module.
C:\Windows\System32\inetsrv\phpext\php_curl.dll
C:\Windows\System32\libeay32.dll
C:\Windows\System32\ssleay32.dll
From PHP.iniCODE
; Directory in which the loadable extensions (modules) reside.
extension_dir = "C:\WINDOWS\system32\inetsrv\phpext"
-and-CODE
; Windows Extensions
; Note that ODBC support is built in, so no dll is needed for it.
; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5)
; extension folders as well as the separate PECL DLL download (PHP 5).
; Be sure to appropriately set the extension_dir directive.
;extension=php_bz2.dll
;extension=php_curl.dll
;extension=php_dba.dll
;extension=php_dbase.dll
;extension=php_exif.dll
;extension=php_fdf.dll
extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_ifx.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
extension=php_mbstring.dll
;extension=php_mcrypt.dll
;extension=php_mhash.dll
;extension=php_mime_magic.dll
;extension=php_ming.dll
;extension=php_msql.dll
;extension=php_mssql.dll
extension=php_mysql.dll
;extension=php_mysqli.dll
;extension=php_oci8.dll
;extension=php_openssl.dll
;extension=php_pdo.dll
;extension=php_pdo_firebird.dll
;extension=php_pdo_mssql.dll
;extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_oci8.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
;extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll
;extension=php_pspell.dll
;extension=php_shmop.dll
;extension=php_snmp.dll
;extension=php_soap.dll
;extension=php_sockets.dll
;extension=php_sqlite.dll
;extension=php_sybase_ct.dll
;extension=php_tidy.dll
;extension=php_xmlrpc.dll
;extension=php_xsl.dll
;extension=php_zip.dll
Handler Mappings are/were setup just like in the tutorial you posted, except for the one part that it didn't mention which was to
setup an ISAPI and CGI Restrictions Allow rule.
...and PHP werkz fine for me.