Apache FastCGI / mod_fastcgi PHP Script

in Categories Web Server last updated December 30, 2008

Use this script to run Apache 2.x with mod_fastcgi. Install Apache 22 from FreeBSD port or using source code. The script is tested under FreeBSD and Debian / RHEL / CentOS Linux.

How do I use script?

Download the script

Put in cgi-bin directory as php.cgi

Set permission

Configure httpd.conf as follows for mod_fastcgi:

<VirtualHost *:80>
        ServerAdmin webmaster@example.com
        DocumentRoot "/websites/home/example.com/http"
        ServerName example.com
        ServerAlias www.example.com
        ErrorLog "/websites/home/example.com/logs/error.log"
        CustomLog "/websites/home/example.com/logs/access.log" common
        ScriptAlias /cgi-bin/ "/websites/home/example.com/cgi-bin/"
 
<Directory "/websites/home/example.com/http">
    Options -Indexes FollowSymLinks +ExecCGI
    AllowOverride AuthConfig FileInfo
    AddHandler php5-fastcgi .php
    Action php5-fastcgi /cgi-bin/php.cgi
    Order allow,deny
    Allow from all
</Directory>
 
<Directory "/websites/home/example.com/cgi-bin">
  AllowOverride None
  Options None
  Order allow,deny
  Allow from all
</Directory>
 
#SuExecUserGroup exampleUser exampleGroup
</VirtualHost>

See Red hat / CentOS Linux mod_fastcgi and FreeBSD mod_fastcgi tutorial for detailed information.;

Sample mod_fastcgi PHP script

#!/bin/sh
#
# Shell Script To Run PHP5 using mod_fastcgi under Apache 2.x
# 
# -------------------------------------------------------------------------
# Copyright (c) 2005 nixCraft project <http://cyberciti.biz/>
# This script is licensed under GNU GPL version 2.0 or above
# Comment/suggestion: <vivek@nixCraft.com>
# http://bash.cyberciti.biz/misc-shell/linux-start-stop-restar-toracle-server/
# -------------------------------------------------------------------------
 
### Set PATH ###
PHP_CGI=/usr/local/bin/php-cgi
PHP_FCGI_CHILDREN=4
PHP_FCGI_MAX_REQUESTS=1000
### no editing below ###
export PHP_FCGI_CHILDREN
export PHP_FCGI_MAX_REQUESTS
exec $PHP_CGI

Share this on:

2 comment

  1. I’ve read a dozen articles explaining how to set-up php5 with fast cgi without being able to make it work.
    Now that I’ve read yours, everything works perfectly.
    thanks.

Leave a Comment