How To:Fix “The System Could Not Access The Credential Manager Server” in Windows Vista
Credential manager is a single sign-on feature that allows users to input user names and passwords for multiple network resources and applications.Credential Manager is a central store for all of your usernames, passwords, and X.509 certificates.
In Windows Vista, Credential Manager can roam stored user names and passwords between multiple computers in an Active Directory domain. For example, if a user logs on to a computer and connects to a password protected web server and selects “Remember My Password” checkbox. This information will be saved within the Credential Manager. When the user logs on to a different computer and connects to the same server, Internet Explorer will provide the password. So, the user is not supposed to type it again. Earlier versions of Windows cannot access the stored credentials.
Those who use HP / Compaq line of desktops and laptops, you can find all of a sudden that can no longer access the system by displaying the following message: “The system could not access the Credential Manager Server“. The problem is not for the Windows Vista operating system, but certainly one of the software pre-installed by the manufacturer that for most will never be used and that encumbers the eroding precious memory.
“The system could not access the Credential Manager Server” error occurs due to a software “HP ProtectTools Security Manager”,which can be configured to prevent unauthorized access using Smart Cards, TPM Embedded security chips, USB sticks.
There are two ways to solve the problem:
First solution:
Reboot the PC. While it is being restarted by pressing the F8 function key. On the screen will display a different kind of start (If we do not even get the pc reboot and press the F8 function key faster;)
Select “Start in Safe mode”
When you are prompted to log in using the local administrator account
Go to services and DISABLE everything that starts with HP
Reboot the system. Hit f10 while it’s starting and disable the security settings (the second colum halfway down). You’ll have to configure a password to do it for some reason.
When you are prompted to log in using the local administrator account
Go to Start / all program / HP ProtectTool Security Manager FOR ADMINISTRATORS
Click on Credential Manager and then click Settings
Deselect the checkbox in the General tab “Use credential manager to log on to Windows”
You need to logoff
Select “Logon as a different user” and use a standard domain account.
Second Solution:
At the Windows Vista login screen, do the following:
Choose “log in as different user”
Click “log on with Wizard”.This will bring up a new login window where you can specify you username, Domain, and password.
In the bottom left corner of this window is a button labeled “More” Click it, and check the box labeled “Do not logon to Credential Manager”
Write your username, password and domain in the respective places and log on.
After successful logon, UNINSTALL CREDENTIAL MANAGER!
If you don’t, you will have to repeat the procedure next time you start up your PC again!
Sometimes this solution will works fine:
Start in safe mode and log on as a local admin
Start device manager and look under ‘Security Devices’ for ‘TrustedbPlatform Module’ – Right click and select uninstall
Reboot and allow the module to auto-reinstall itself
You should now be able to logon to Windows Vista without receiving a credential manager error. Depending on the versions of Windows Vista and TPM you are running you might have to re-register any finger scans you had stored. The problem is the driver becomes corrupted.
Problem activating a Terminal Services license server, Windows Server 2003
Symptoms:
When you try to activate a Terminal Services license server on a computer that is running Microsoft Windows 2000 Server or Microsoft Windows Server 2003, the Terminal Services Licensing service starts, but the license server is not activated.
When you view the System log in Event Viewer, you see an event that is similar to the following:
Type: Error
Date: Date
Time: Time
Event ID: 38
Source: TermServLicensing
User: N/A
Computer:
Details: Can't generate a license for client because of error "Can't add certificate to store, error c0010020".
Resolution:
NOTE: Have your licensing information ready to go, as you will need to call your nearest Microsoft Clearinghouse for re-activation of the licenses.
To resolve this problem, remove the Terminal Services Licensing program, and then reinstall it. To do this, follow these steps:
- Click Start, point to Programs, point to Administrative Tools, and then clickServices. In the right pane, right-click Terminal Services Licensing, and then clickStop. After the Terminal Services Licensing service stops, close Services.
- Click Start, click Run, type cmd, and then click OK.
- At the command prompt, type the following commands. Press ENTER after each command.
cd %systemroot%system32ren LServer LServerOLD
- Type exit to close the commmand prompt window.
- Click Start, point to Settings, and then click Control Panel.
- Double-click Add/Remove Programs, and then click Add/Remove Windows Components.
- In the Components list, click to clear the Terminal Services Licensing check box, and then click Next.
- On the Terminal Services Setup page, click Next, and then click Finish.
- Restart your computer.
- Click Start, point to Settings, and then click Control Panel.
- Double-click Add/Remove Programs, and then click Add/Remove Windows Components.
- In the Components list, click to select the Terminal Services Licensing check box, and then click Next.
- On the Terminal Services Setup page, click Application server mode, and then click Next.
- On the Terminal Services Licensing Setup page, click the option you want to use, type the path of your license server database in the Install license server database at this location box, and then click Next.
- Click Finish, close Add/Remove Programs, and then close Control Panel.
- Click Start, point to Programs, point to Administrative Tools, and then click Event Viewer.
- In the System log, verify the existence of two events that are similar to the following:
Event Type: Information
Event Source: TermServLicensing
Event Category: None
Event ID: 5
Date: Date
Time: Time
User: N/A
Computer: Computer_Name
Description: Policy Module %SystemRoot%system32File_Name.dll for companyCompany_Name has been loaded.Event Type: Information
Event Source: TermServLicensing
Event Category: None
Event ID: 0
Date: Date
Time: Time
User: N/A
Computer: Computer_Name
Description: Terminal Services Licensing was started. - Start Windows Explorer.
- Expand the %systemroot%System32 folder, and verify that the LServer folder has been created.
- Click Start, point to Programs, point to Administrative Tools, and then clickTerminal Services Licensing.
- Right-click the name of your license server, and then click Activate.
- Follow the steps in the Licensing Wizard to activate your license server.
Installing and configuring SNMP in Windows Server 2008
You can add the SNMP service through the Add Features wizard.
The following parts describe how to configure the SNMP service (set community names and other tasks). You can manage the SNMP service through the properties for the SNMP service. You can access the service through the Services console in theAdministrative Tools folder or through the Services snap-inin the Computer Management console.
Configuring agent properties
After installing the SNMP service, you need to configure agent properties, which contains general information such as who is responsible for managing the agent host and the types of services with which the agent will interact on the computer.
Right-click the SNMP service in the Services console and choose Properties to open the properties for the SNMP Service, or select the service and choose Action and then Properties to display the service’s property sheet. The General, Log On, Recovery, and Dependencies pages are the same as for other services. Click the Agent tab to configure the following agent properties:
1) Contact: Specify the name of the person responsible for managing the host computer.
2) Location: Specify the physical location of the computer or the contact’s location or other information (phone number, extension, and so on).
3) Physical: Select this option if the agent host manages physical hardware such as hard disk partitions.
4) Applications: Select this option if the agent uses any applications that transmit data using the TCP/IP protocol.
5) Datalink and Subnetwork: Select this option if the agent host manages a bridge.
6) Internet: Select this option if the agent host is an Internet gateway.
7) End-to-End: Select this option if the host uses IP. This option should always be selected.
Configuring traps
Use the Traps tab of the SNMP service to configure computers to which the SNMP service sends traps. From the Community Name drop-down list, select the community for which you want to assign a trap destination. If you have no communities set yet, type the community name in the combo box and click Add to List. Then, click Add to display a simple dialog box in which you can specify the host name, IP address, or IPX address of the remote computer to receive the trap notification. Repeat the process to add other trap destinations as needed.
Configuring security
Use the Security tab of the SNMP Service’s properties to configure the communities in which the agent participates and optionally a list of hosts from which the agent accepts SNMP packets. By default, the agent accepts packets from all hosts. This presents a security risk, however, so take care to configure security settings to permit SNMP traffic only from authorized hosts. The Security page includes the following options:
1. Send Authentication Trap: Select this option to have the agent send a message to all trap destinations if the agent receives an SNMP request from a host or community not listed in the ‘‘Accepted community names’’ list or the ‘‘Accept SNMP packets from these hosts’’ list. The message is sent to all hosts in the trap destination list on the Traps property page to indicate that a remote management system failed authentication (potentially indicating an unauthorized access attempt).
2. Accepted Community Names: Use this list and the related buttons to alter the list of communities in which the agent participates and the community rights for each. You can select from the following rights:
a) None: This option prevents the agent host from processing any SNMP requests from the specified community. For instance, you may configure None for the Public community for enhanced security.
b) Notify: Select this option to permit the agent host to send traps only to the selected community.
c) Read Only: Use this option to permit remote consoles to view data in the local MIB but not change it. This option prevents the agent from processing SNMP SET requests.
d) Read Write: Use this option to permit remote consoles to make changes on the managed system. This option allows the agent to process SNMP SET requests.
e) Read Create: Use this option to permit the agent to create new entries in the SNMP tables.
3. Accept SNMP Packets from Any Host: Select this option to permit the agent to process requests from all hosts in the ‘‘Accepted community names’’ list.
4. Accept SNMP PACKETS from These Hosts: Select this option to define a specific list of hosts from which the agent will process SNMP requests.
IIS 7 Enable Virtual Directory browsing in a Domain
This time I ran in to the problem of accessing a virtual directory on another domain-joined server from an IIS7 enabled server.
After first installing IIS7 on the 2008 server, I added the virtual directory to the root of the Site.
Then when trying to browse it, it only gave me a "500 - Internal Server Error". Nice.
So, i read up on the subject and figured out I had to enable "Directory Browsing" for this to work:

OK so when I tried browsing it now, it still gave the dreaded "500 - Internal Server Error" !!
Well, turns out I have to give the IIS itself access to the Virtual Directory in question!
This is done by granting the "Network Service" user access to the virtual directory:
OK, now we're getting somewhere! Now when browsing, it gave me a "401 - Unauthorized access" !!
Last thing we need to do is enable the "Anonymous Authentication" as "Application Pool Identity" or the network service user so to speak.
And there we go!!
The Game (1997)
Havent seen this movie? Watch it! This is an old-school triller with Michael Douglas as the main star.
I can almost promise you will like this!
Get it Here!
Free Antivirus for Windows 2003 Server
This has always been an issue for me when I've run 2003 Server on any of my puters... So now finally I found a solution I can live with:
http://www.pctools.com/free-antivirus/ <- Free, and works for 2003 server
http://www.clamav.net/ <- Also free and used as a secondary AV
=)
Mobile posting

Im testing a post from my HTC Hero phone with an Android app for wordpress. Seems to e working just fine
Exchange Server 2007: Renewing the self-signed certificate
1 To renew the certificate for a server:
Get-ExchangeCertificate | fl
Note the services the certificate is enabled for (by default: POP, IMAP, IIS, SMTP on CAS + HT servers). Copy the thumbprint of the certificate.
Get a new certificate with a new expiration date:
Get-ExchangeCertificate -thumbprint "C5DD5B60949267AD624618D8492C4C5281FDD10F" | New-ExchangeCertificate
If the existing certificate is being used for SMTP, you will get the following prompt:

Type Y to continue. A new certificate is generated.
The new certificate is generated and enabled. Examine the new certificate:
Get-ExchangeCertificate -thumbprint "3DA55740509DBA19D1A43A9C7161ED2D0B3B9E3E" | fl
2 The old certificate is enabled for IIS, POP, IMAP and SMTP. The new certificate generated using the above command is enabled only for POP, IMAP and SMTP - IIS is missing.
To enable the certificate for IIS:
Enable-ExchangeCertificate -thumbprint "3DA55740509DBA19D1A43A9C7161ED2D0B3B9E3E" -services IIS
This enables the certificate for IIS (in addition to any other services it may already be enabled for - it adds to existing values of the services property).
Test services are working with the new certificate. If it works as expected, the old certificate can be removed:
Remove-ExchangeCertificate -thumbprint "C5DD5B60949267AD624618D8492C4C5281FDD10F"
Russian comments!?
For some reason this site has been picked up by russians?! Thats cool, and I'm glad to see someone making good use of the little info on here!
How to install PHP 5.x on Windows Server 2003 with IIS 6
0. Notes before we start
It is assumed that you have already successfully installed and configured Windows Server 2003 and setup IIS 6.
1. install PHP (the easiest step, like having a baby is to raising a child)
2. Configure PHP (lots of php.ini editing)
3. Configure IIS (lots of pointing and clicking in IIS Manager)
4. Test it! (checking to make sure PHP is working on your server)
5. Troubleshooting (let's hope you don't need this section
)
If you have already done basic configuration of IIS6 on Windows Server 2003, and have an otherwise functional setup, then exactly following these steps should give you a fully-functioning installation of PHP. However, since I cannot know the combination of hardware and software you are running, or any of the environment factors within which you work, I cannot gaurantee that these steps will work for you. They have worked for me and others who have followed them.
I recently made some pretty radical changes to this guide by removing all instructions that involved setting permissions for the Internet user on files and folders. PHP is a server-side processing language so the Internet user (IUSR_ on most W2k3 servers) does not need permission to access any of the files or folders involved with PHP. I had been unthinkingly following the advice of others when I configured my system that way, and it wasn't until I had experimentally removed all those permissions and noticed that everything still worked that I started thinking about it.
More recently, I added a special-case troubleshooting tip in the case of session files not being created. I don't really like it because I don't understand why it should work, but it was the solution for one person so it's in here until I can find a logical solution. As always, feedback is welcome!
1.
- Download the latest zipped distribution, not the Windows installer, of PHP from the "Windows Binaries" section of http://php.net/downloads.php.
Unzip it somewhere on your hard drive.
You can pick any drive, and any folder, but the recommendation is to put all the PHP stuff in a folder just off of the root drive (avoid whitespace), like C:\PHP, and this guide will follow that recommendation. - Download the PECL Win32 binaries zip file (should be just below the link to the PHP zip file - DON'T download from the "Non-thread-safe" links) and extract the contents of that archive into C:\PHP\ext. It contains more extensions.
Move php5servlet.dll and php5activescript.dll from C:\PHP\ext into C:\PHP.
NOTE on php5servlet.dll and php5activescript.dll:
Neither of these are strictly PHP extensions, so when you get to step 2.4, DO NOT add them to the list of extensions in php.ini. If you do, you'll get an "Invalid access to memory location" error on step 4.2.
php5servlet.dll is a JNI library that Tomcat uses to connect to PHP. We're using IIS, not Tomcat, so we don't need to do anything with this file.
php5activescript.dll is a COM server that allows PHP code to be executed by an ActiveScript engine, like Windows Script Host or ASP/ASP.net. As far as I can tell, it's not commonly used. Dr. Evil has an old post that you can read for more information if you're interested.
In your PHP folder, you'll find a couple of php.ini-* files. They are pre-configured settings for a PHP install that you can use as an initial setup. php.ini-recommended is the, well, recommended one; rename it to php.ini.
2.
cgi.force_redirect in php.ini and set equal to 0*** This is a very important step, don't neglect it. ***
You don't have to install a browscap file, it's just for those who want to use the browser identification features of PHP, but it is recommended that you install it because it's pretty widely used by scripts.
It's fairly straightforward: download php_browscap.ini from http://browsers.garykeith.com/downloads.asp to the extras folder under your PHP install folder (C:\PHP\extras\browscap.ini, for example), and change the browscap variable in php.ini to be the full path to the file (browscap=C:\PHP\extras\browscap.ini).
If you are going to use Mr. Keith's browscap file, be sure to abide by his Terms of Use. He has licensced his work (and it is a lot of work) under a Creative Commons Attribution Non-Commercial licensce, so if you plan to use it for commercial use, be sure to contact him for permission first.
session.save_path php.ini variable to it.This is another optional but recommended step. PHP does not need sessions, but it's something that will most likely be useful.
Create a session folder somewhere on the server. I created C:\PHP\Sessions. This folder will hold many small files with session variable information for PHP. They probably won't take up a whole lot of room, but if you need to keep your data off your system drive, then you can put the folder anywhere else.
Now change the value of the session.save_path variable in php.ini to be the full path to that folder (session.save_path=C:\PHP\Sessions).
PHP extensions are libraries that extend the functionality of PHP. For example, the file php_gd2.dll provides dynamic image creation and manipulation functions that go beyond what PHP itself does. For information on extensions, visit http://ca3.php.net/manual/en/install.windows.extensions.php and http://pecl.php.net.
The typical, basic PHP installation doesn't require you to do anything with extensions: if you're unsure about extensions you can set extension_dir then continue to step 2.5. Once you get PHP working, you can revisit extensions.
- Point PHP to the correct folder:
Setextension_dirin php.ini to "C:\PHP\ext"
- Massage the list of extensions so that most of them will load w/out throwing errors.
The following is a list of the extensions that come with PHP combined with the PECL extensions. I have commented out the ones that either did not work well on my system or that require external software, like the extensions for different databases. I've provided comments about some of them; for more information, refer to the link above. If you want as many extensions available w/out having to usedl()as possible, start with this list and refine it to match your system. Remember, though, that the more extensions you have uncommented in php.ini, the more resources PHP will need to run. I'm not running my server with all of these extensions uncommented, this list just reflects what I found to work.
CONFIG FILE HERE
Final notes on using extensions:
- I left uncommented all the ones that I got to work on my system with no additional software.
- If you have not downloaded and extracted the "Collection of PECL modules for PHP 5.2.3" archive, not all of the files in the list will exist on your system, so many of the uncommented ones will not work.
- Most of the ones that won't load rely on other software being present, like oracle, informix and sybase.
- Actually using php_openssl.dll requires you to follow the instructions in C:\PHP\extras\openssl\README-SSL.txt.
- See the BIG FAT NOTE in section 4.2
- The MySQL connector has to be mysqli for MySQL 4.1.5 or later (extension=php_mysqli.dll). If you copied in the list of extensions above, that line will be in there. If you didn't, well, then it won't.
I could continue for a few more pages commenting on extensions. If you have some particular question, a little google-grease goes a long way. If you're here because of some google grease and don't see the answer to your question, shoot me an e-mail. The worst thing that could happen is that I'll ignore you, and you won't be any worse off than you are now.
a. Copy all non-php dll files from C:\PHP to C:\Windows\System32 (or somewhere else in the server's PATH)
- OR -
b. Add "C:\PHP" to the server's PATH environment variable
- right-click on My Computer, choose Properties
- flip to the Advanced tab
- click the Environment Variables button
- Double-click the Path variable in the list of System variables.
- Add "C:\PHP;" (sans quotes) to the beginning. See step 5.9 for an explanation of why it should go at the beginning of the PAH.
- The new PATH will be available to any new command prompt, but not to existing ones; bounce the server if you want to be sure that it will take effect.
This is so that PHP can find its configuration file (php.ini). To make it easy on you, modify the following text so that "C:\\PHP" is the folder in which you've unzipped PHP, then copy the text and paste into a new text file (anywhere; the Desktop is a good place to create it). Rename the file to inifilepath.reg, then double-click on it, click "Yes" to the confirmation dialog, and the value will be in place. You can then delete inifilepath.reg.
Make sure all backslashes are escaped in the .reg file (ie. \\ instead of just \)
NOTE: PHP also uses other settings to find its configuration file; one of the most notable being the PHPRC environment variable. I prefer using the Registry because by varying the key, you can configure different versions of PHP to run side-by-side on the same machine. See http://us2.php.net/configuration for more information.
3.
For these steps, open IIS Manager
(Start -> Control Panel -> Administrative Tools -> Internet Information Services (IIS) Manager).
When you open IIS Manager, it should connect to the local computer automatically.
- Expand the local computer in the left pane
- Click on "Web Service Extensions" in the left pane
- In the right pane, click the blue underlined text, "Add a new Web service extension..."
- Enter "PHP ISAPI Extension" as the "Extension name"
- Click the "Add..." button and browse to the php5isapi.dll file in your PHP install folder
- Check the "Set extension status to Allowed" checkbox and click "OK"
There are two ways to setup PHP for the web: ISAPI and CGI. ISAPI is typically more efficient and secure. If you want to add the CGI extension, in addition to or instead of the ISAPI, repeat the above, but enter "PHP CGI Extension" as the "Extension name", and enter the full path to php-cgi.exe (it will be in your PHP install folder along with php5isapi.dll).
Note that I have seen the CGI module misbehave several different ways and recommend that you stick with the ISAPI module.
The following two steps are suggested to apply to the "Web Sites" root folder in IIS Manager, but they can be applied to individual sites, instead. When applying changes to "Web Sites", note that a dialog might come up asking if you want to apply changes to a list of specific websites, too. The listed sites will be ones that have overridden any default values, so be careful about applying changes to them. Especially be careful of applying changes to the Microsoft SharePoint Administration site (thus speaks painful experience).
- Expand the local computer in the left pane
- Right-click on "Web Sites" in the left pane, then click "Properties" in the menu that pops up
- Flip to the "Home Directory" tab
- Click "Configuration"
- Flip to the "Mappings" tab
- Click "Add..."
- Enter the full path to php5isapi.dll in the "Executable" textbox (Browse... to find it more easily if you need to)
- Enter ".php" in the "Extension" textbox
- Select radial button "Limit to", enter "GET,POST,HEAD"
- Click "OK" all the way out
This sets up IIS to actually respond to requests for php files. Until now, IIS hadn't know what to do with php files, you just told it to pass them through php5isapi.dll.
Replace php5isapi.dll with php-cgi.exe if you chose the CGI extension in the previous step.
Again noting that I don't recommend using the CGI module...
Right-click on "Web Sites", goto Properties -> Home Directory.
Change the "Execute permissions" dropdown to "Scripts only".
Right-click the local computer in the left pane of IIS Manager, click on All Tasks -> Restart IIS... -> OK
- OR -
reboot now.
4.
Expand the "Web Sites" folder in the left pane of IIS Manager to see a list of existing websites. Right-click on a website -> Properties -> Home Directory -> Local Path will show you where the website root folder is.
Contents of test.php:
If you did not setup session or browscap support as outlines in steps 2.2 and 2.3, then remove the sections that test them.
*** BIG FAT NOTE: If you uncommented extensions, be sure to test this while logged in to the server's console. If some of the extensions throw errors when loading, an error dialog will pop up on the server console telling which one didn't work. You have to be able to click "OK" to the dialog for the page to finish loading. The dialog will pop up ONLY on the server's console; not even Terminal Services will show it. Take note of the extension that didn't work, click "OK", and then comment out the extension in php.ini until you can figure out how to get it to work.
IMPORTANT TIP: if you can't get physical access to the server, you can connect to the console via RDC. Click on Start, then Run... and enter the following in the text box: "mstsc -console" (sans quotes) to start RDC in "console mode". Once you login, you will be able to see the console message dialogs. If you're using the OS X RDC client, hold down the Apple (Command) key when you click Connect. A dialog will pop up asking if you want to connect to the console. Click Yes and you're on your way. ***
Addendum to the BFN: Kristopher Hom was kind enough to point out to me that the extension errors will be logged in System Event Log (Right-click on My Computer, choose Manage..., System Tools, Event Viewer, System). The error he saw was, "Application popup: Warning : PHP Startup: Unable to load dynamic library 'C:\PHP5\ext\php_mysql.dll' - The specified module could not be found." See step 5.3 for more information about mysql errors.
Another addendum to the BFN: An alternate way to test extension loading is to run PHP from the command line (Start -> Run -> type "cmd" and hit Enter). If you followed my suggestion in step 2.5, just type "php" and see if any errors appear. Comment out the offending extension and repeat.
After loading test.php, you should see some ugly-looking information about your browser spewed across the top of the page (if you setup browscap support), followed by some nicely-formatted information about your PHP installation. Be sure to scroll all the way down to the bottom to see that there were no errors. I noticed with my installation that if I used CGI, the last several modules wouldn't load and a bunch of error messages would print at the bottom of the test page.
Also go check your session folder (if you setup session support) for a 0-byte file. That's the file to hold session data for the session you started by using the command session_start().
5.
If you setup IIS to use the ISAPI extension, then try this: right click on WebSites > Properties > ISAPI Filters > Add
filtername = PHP
executable = php5isapi.dll
It seems that since we've added an ISAPI extension, we would need to add an ISAPI Filter, but I never had to. I added one to see what happened, and couldn't tell if it made any difference in performance, or even if it was being used.
Make sure that the value of the browscap variable in php.ini is the full path to the browscap.ini file, not a relative path.
Did you uncomment any extensions in step 2.4? If an extension errors while loading, PHP throws up a dialog box to the console of the server displaying the name of the extension and the error. In order for PHP to continue processing (e.g., in order for the page to continue loading), you have to click the "OK" button on the dialog box.
I know, I know, pretty stoopid, but that's the way it is.
Go login to your server's console (not just Terminal Services, the dialog doesn't show up there) and click "OK" to the 50 million dialogs that have popped up there (one for each time you frustratedly restarted IIS and tried to load the page again).
Then go re-comment out the troublesome extension(s) and try it again, this time keeping an eye on the server console.
Make sure you have the extensions in the order specified in 2.4; that order has been tested to load all the uncommented extensions w/out complaining.
Make sure you have downloaded and installed the "Collection of PECL modules for PHP 5.0.3" as described in step 1.1
As mentioned in step 4.2, the extension errors will be logged in System Event Log (Right-click on My Computer, choose Manage..., System Tools, Event Viewer, System).
If you see any errors involving php_mysql.dll, be sure you have followed step 2.5 and either copied the non-PHP dlls from your PHP install folder to %systemroot%\windows32, or have added your PHP install folder to the PATH and either bounced the server or bounced IIS. The mysql errors typically come from PHP's inability to find the supporting mysql library (libmysql.dll) when it loads php_mysql.dll. Making sure libmysql.dll is in the PATH somewhere ensures that PHP can find it.
Even if you followed my recommendation in step 2.5 and added the PHP install path to the server's PATH environment, try putting the dll files - php5ts.dll especially - in the system32 folder. Several people have written in to say that's what they had to do.
You may have spaces in you PHP install folder path. Try changing the PHP install folder to be simply "C:\PHP" and see if that will get it working.
I've seen this happen when trying to use the CGI module (php-cgi.exe). Don't use the CGI module. Use the ISAPI module.
I have seen several problems with the CGI module, and do not recommend that you use it.
If your website is set up to run in a special Application Pool, our the user of your default pool is a non-standard one, you may need to give a different user permission to the PHP files and folders.
2. Right click on the pool your site is running under and click properties.
3. Go to the Identity tab and see what user is selected.
4. Give that user permissions on your php files/folder:
- Click on the "Add" button
- Enter in the rather large text box the user name
- Click on "Check Names" to have it find the user for you
- If it can't find the username, a "Name Not Found" dialog box will display
- In that case, "Cancel" the "Name Not Found" dialog
- click the "Advanced" button
- This will open another dialog, where you'll click on the "Find Now" button
- scroll through the list of "Search results" to find the user whose listed in the Application Pool
Jef Sodeman found that if he allowed all verbs instead of just GET,HEAD,POST in step 3.2, he was able to fix this error on his server. He pointed me to another page describing this problem and solution: http://www.s9y.org/194.html.
I heard of this happening once so far, and it was fixed by granting the server's Internet Guest account permission to access the sessions folder. I don't see any logical reason to have to grant the Internet Guest account permission to a folder that PHP should be accessing as the Network Service or some other more trusted user, but in this one case, that was the fix. Might work for you, too. In Window's Explorer, right-click on the session folder, then click on "Properties" in the list that pops up. This will open a dialog box with several tabs. One of the tabs is named "Security". Click on it. This tab shows a list of users who have permission to access the folder.
- Click on the "Add" button
- Enter in the rather large text box, "IUSR_<SERVERNAME>" (Where <SERVERNAME> is the name of your server)
- Click on "Check Names" to have it find the user for you
- If it can't find the username, a "Name Not Found" dialog box will display
- In that case, "Cancel" the "Name Not Found" dialog
- click the "Advanced" button
- This will open another dialog, where you'll click on the "Find Now" button
- scroll through the list of "Search results" to find the Internet Guest account (Probably displayed as IUSR_<SERVERNAME>)
If you can't find the Internet Guest account, then make sure IIS is installed and enabled, which is a whole 'nother subject.
Once you find the Internet Guest Account, "OK" your way out of all dialogs. Before you "OK" your way out of the Properties dialog, check the "Allow" checkbox for "Modify". The default permissions are Read and Execute, and Read. You want the Internet guest account to be able to create and modify files in that folder, too.
If you can shed more light on this, please tell me.
Not yet, but you can check out http://www.visualwin.com/PHP/ for quite a few pictures detailing the process.
That is actually the website I used the most when figuring this all out.
I know, this isn't really a troubleshooting tip, but I don't have anywhere else to put it now.
This just in, from Ryan Hubbard:
On 64 bit IIS loads all extensions in 64 bit mode by default. Since php5isapi.dll is 32 it freaks out but doesn’t give an error, just a 500 error on php pages. So in order to get it to work on IIS 6 64-bit you need to enable 32-bit by running the following at the command line.
cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
This enables both 64 and 32 bit extensions.
The newer versions of PHP are more strict about opening script tags, and short open tags (<?) are turned of by default in php.ini. (short_open_tag = off). You can either modify your php page(s) to use the long open tags (<?php ... ?>) or modify php.ini to allow the short tags (short_open_tag = on). I recommend modifying your php pages if you can because the longer open tags are standard now and if you leave them short you'll probably run into the same problem when you move your code to another server.
Adam Carter worked through this problem and came to the insightful conclusion that the problem was caused by his mySQL install's bin folder being inculded in the PATH before PHP's install folder. That caused mySQL's libmysql.dll file to be loaded before PHP's libmysql.dll file when PHP went looking for a libmysql.dll file upon loading its mySQL extension. Putting PHP's install folder in the PATH prior to mySQL's bin folder enabled PHP to find its own libmysql.dll file. Hence the instruction in step 2.5 to add PHP's install folder to the beginning of the PATH. Alternately, you can put PHP's libmysql.dll in %systemroot%\system32. That will have the same effect of putting it in the PATH before mySQL's bin folder.
You may have set doc_root to some value in php.ini. If you did that, only those php files that are actually in that folder (or subfolders thereof) will work. Remove that value, bounce IIS and it should work now.
Tags
Recent Posts
- How To:Fix “The System Could Not Access The Credential Manager Server” in Windows Vista
- Problem activating a Terminal Services license server, Windows Server 2003
- Installing and configuring SNMP in Windows Server 2008
- IIS 7 Enable Virtual Directory browsing in a Domain
- The Game (1997)




