Configure FastCGI to Host PHP from IIS 5.x and 6.x

I want to tell everybody that I am back again after last post from Jan 2011. MGe is lost after the Celebrating the Chinese New Year(I am Chinese, 🙂 ), and it is very sad that 2 relative passed away during the past week. 🙁

Somehow, I will continue sharing my post from here, :-).

Today, I want to guide my reader on how to configure PHP FastCGI for IIS 5.x and 6.x.

Prerequisite,
i) IIS5.x or 6.x installed.
ii) PHP installed.

Step:
Install FastCGI extension,
1. Download the extension from http://www.iis.net/extensions/fastcgi.
2. Install it and you will see it is installed to C:\Windows\System32\inetsrv folder.

Apply FastCGI extension,
i) Configure through command,
Run the follow command,

cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"C:\PHP\php-cgi.exe"

ii) Manually Configure it.
1) Run inetmgr.
2) Right click Web Site and select properties.
3) Click on Home Directory tab.
4) Click on the Configure button.
5) Click on the Add button.
6) In the “Add/Edit Application Extension Mapping”, add the following information,
Executable: C:\Windows\System32\inetsrv\fcgiext.dll
Extension: .php
Verbs: Limit to GET, HEAD, POST
7) Click OK.

Modify the fcgiext.ini file,
1) Add the following information to the fcgiext.ini file,
[Types]
php=PHP
[PHP]
ExePath=C:\PHP\php-cgi.exe

Set the optimal setting for FastCGI,
Set the following value to php.ini,
fastcgi.impersonate = 1
cgi.fix_pathinfo = 1
cgi.force_redirect = 0

Set the following value to fcgiext.ini, run the following script.

cscript fcgiconfig.js -set -section:"PHP" -EnvironmentVars:PHP_FCGI_MAX_REQUESTS:10000

cPanel Fantastico not able to install any apps

Today I found out that the cPanel do not working well with the Fantastico DeLuxe and I have no idea what it is going on at first as there do not have any error from the server.

Symptoms:
1. Fantastico showing installation configuration file and database with ERROR.
2. No web file in the public_html folder.
3. Database is not configured properly(no table and data).

After long time tested and checked. Finally I am able to get some hint from the cPanel error_log.
=================
PHP Warning:  shell_exec() has been disabled for security reasons in /tmp/cpanel_phpengine.1289814352.9866F8Ane8kVMm on line 979
=================

I have immediate go to php.ini file and check for the disable_function and found out shell_exec and system is being listed.

To overcome it, I have putting a semi-colon “;” to the line of disable_function and restart the Apache HTTPD services and it is working fine.

Enable Zlib to get faster site browsing

Everyone want a lightening fast website speed instead of turtle speed.

To get faster speed of your website, you may enable zlib or gzip. In this session, you will learn how to enable zlib from your PHP script.

To enable zlib, head to your php.ini file and change the value as below.
zlib.output_compression=On
zlib.output_compression_level=1

If your host do not support for php.ini file, you may easily add this to your php script.
ini_set(’zlib.output_compression’, ‘On’);
ini_set(’zlib.output_compression_level’, ‘1′);

IIS7 PHP Manager 1.0 stable version

If you read my earlier article here, you should know IIS got PHP Manager and it is now come with Stable version 1.0.

We should thank to  RuslanY, who designed the IIS PHP Manager.

PHP Manager 1.0 can be used to:

  • Register PHP with IIS;
  • Validate and properly configure existing PHP installations;
  • Run multiple PHP versions side by side on the same server and even within the same web site;
  • Check PHP runtime configuration and environment (output of phpinfo() function);
  • Configure various PHP settings;
  • Enable or disable PHP extensions;
  • Remotely manage PHP configuration in php.ini file.


With stable version of IIS PHP Manager, you are actually able to view the recommendations and fix it within a second.

Below is the bug fixed and change since BETA version.

  • Support for running different PHP versions within the same web site;
  • Functionality to set IIS default document to index.php;
  • Links to quickly open php.ini file and PHP error log file;
  • Detection of PHP registered via CGI or ISAPI;
  • Detection of PHP that is registered by using command line arguments in IIS handler mapping.

Import failed for WordPress XML file?

This will happen if you used WordPress Export and Import tool for WordPress to WordPress migration, you might/might not faced this problem when you migrated your WordPress from 1 server to another server but this is good for your knowledge.

Eg.

I would like to migrate my WordPress blog from wordpress.com to my domain such as mickgenie.com.

Step:
1. I will go to wordpress.com administrator and export the data file to XML format to my local PC.
2. I will go to mickgenie.com administrator to restore it.

BUT,
I got “timed out” where the XML is not fully restore.

Solution suggested by Mick Genie:
Continue reading Import failed for WordPress XML file?