Review your favorite Linux distribution.
Go Back > Forums > Linux Forums > Linux - Software
User Name
Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.


Search this Thread
Old 01-19-2004, 04:31 PM   #1
Registered: Jul 2003
Location: Birmingham, UK
Distribution: Ubuntu,Debian
Posts: 381

Rep: Reputation: 30
Angry PHP isnt being parsed by Apache 2!


I have installed apache and it wont parse my PHP files. I have installed Apache 2.0.40 and mod_php4-4.3.1,1 from the FreeBSD Ports website (i am using FreeBSD 5.1), I compiled mod_php4 myself (because of the difficulties i am having).
When I try and access the server it just pops up with a box saying that it wants to download a file that has the mime type application/x-httpd-php. When i download this file it is simply the php source of the file i am trying to access.

I have the following configuration for apache [have removed most comments to allow me to post it]:


# Based upon the NCSA server configuration files originally by Rob McCool.
# This is the main Apache server configuration file. It contains the
# configuration directives that give the server its instructions.
# See <URL:> for detailed information about
# the directives.
# Do NOT simply read the instructions in here without understanding
# what they do. They're here only as hints or reminders. If you are unsure
# consult the online docs. You have been warned.
# The configuration directives are grouped into three basic sections:
# 1. Directives that control the operation of the Apache server process as a
# whole (the 'global environment').
# 2. Directives that define the parameters of the 'main' or 'default' server,
# which responds to requests that aren't handled by a virtual host.
# These directives also provide default values for the settings
# of all virtual hosts.
# 3. Settings for virtual hosts, which allow Web requests to be sent to
# different IP addresses or hostnames and have them handled by the
# same Apache server process.
# Configuration and logfile names: If the filenames you specify for many
# of the server's control files begin with "/" (or "drive:/" for Win32), the
# server will use that explicit path. If the filenames do *not* begin
# with "/", the value of ServerRoot is prepended -- so "/var/log/foo.log"
# with ServerRoot set to "/usr/local" will be interpreted by the
# server as "/usr/local//var/log/foo.log".

### Section 1: Global Environment
# The directives in this section affect the overall operation of Apache,
# such as the number of concurrent requests it can handle or where it
# can find its configuration files.

# ServerRoot: The top of the directory tree under which the server's
# configuration, error, and log files are kept.
# NOTE! If you intend to place this on an NFS (or otherwise network)
# mounted filesystem then please read the LockFile documentation (available
# at <URL:>);
# you will save yourself a lot of trouble.
# Do NOT add a slash at the end of the directory path.
ServerRoot "/usr/local"

# The accept serialization lock file MUST BE STORED ON A LOCAL DISK.
<IfModule !mpm_winnt.c>
<IfModule !mpm_netware.c>
#LockFile /var/log/accept.lock

# ScoreBoardFile: File used to store internal server process information.
# If unspecified (the default), the scoreboard will be stored in an
# anonymous shared memory segment, and will be unavailable to third-party
# applications.
# If specified, ensure that no two invocations of Apache share the same
# scoreboard file. The scoreboard file MUST BE STORED ON A LOCAL DISK.
<IfModule !mpm_netware.c>
<IfModule !perchild.c>
#ScoreBoardFile /var/run/apache_runtime_status

# PidFile: The file in which the server should record its process
# identification number when it starts.
<IfModule !mpm_netware.c>
PidFile /var/run/

Timeout 300

KeepAlive On

MaxKeepAliveRequests 100

KeepAliveTimeout 15

## Server-Pool Size Regulation (MPM specific)

<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0

<IfModule worker.c>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0

<IfModule perchild.c>
NumServers 5
StartThreads 5
MinSpareThreads 5
MaxSpareThreads 10
MaxThreadsPerChild 20
MaxRequestsPerChild 0

<IfModule mpm_winnt.c>
ThreadsPerChild 250
MaxRequestsPerChild 0

<IfModule beos.c>
StartThreads 10
MaxClients 50
MaxRequestsPerThread 10000

<IfModule mpm_netware.c>
ThreadStackSize 65536
StartThreads 250
MinSpareThreads 25
MaxSpareThreads 250
MaxThreads 1000
MaxRequestsPerChild 0

<IfModule mpmt_os2.c>
StartServers 2
MinSpareThreads 5
MaxSpareThreads 10
MaxRequestsPerChild 0


# Dynamic Shared Object (DSO) Support

LoadModule access_module libexec/apache2/
LoadModule auth_module libexec/apache2/
LoadModule auth_anon_module libexec/apache2/
LoadModule auth_dbm_module libexec/apache2/
#LoadModule auth_digest_module libexec/apache2/
#LoadModule file_cache_module libexec/apache2/
LoadModule charset_lite_module libexec/apache2/
#LoadModule cache_module libexec/apache2/
#LoadModule disk_cache_module libexec/apache2/
LoadModule include_module libexec/apache2/
LoadModule deflate_module libexec/apache2/
LoadModule log_config_module libexec/apache2/
LoadModule logio_module libexec/apache2/
LoadModule env_module libexec/apache2/
LoadModule mime_magic_module libexec/apache2/
LoadModule cern_meta_module libexec/apache2/
LoadModule expires_module libexec/apache2/
LoadModule headers_module libexec/apache2/
LoadModule usertrack_module libexec/apache2/
LoadModule unique_id_module libexec/apache2/
LoadModule setenvif_module libexec/apache2/
#LoadModule proxy_module libexec/apache2/
#LoadModule proxy_connect_module libexec/apache2/
#LoadModule proxy_ftp_module libexec/apache2/
#LoadModule proxy_http_module libexec/apache2/
<IfDefine SSL>
LoadModule ssl_module libexec/apache2/
LoadModule mime_module libexec/apache2/
#LoadModule dav_module libexec/apache2/
LoadModule status_module libexec/apache2/
LoadModule autoindex_module libexec/apache2/
LoadModule asis_module libexec/apache2/
LoadModule info_module libexec/apache2/
LoadModule cgi_module libexec/apache2/
#LoadModule cgid_module libexec/apache2/
#LoadModule dav_fs_module libexec/apache2/
LoadModule vhost_alias_module libexec/apache2/
LoadModule negotiation_module libexec/apache2/
LoadModule dir_module libexec/apache2/
LoadModule imap_module libexec/apache2/
LoadModule actions_module libexec/apache2/
LoadModule speling_module libexec/apache2/
LoadModule userdir_module libexec/apache2/
LoadModule alias_module libexec/apache2/
LoadModule rewrite_module libexec/apache2/
LoadModule php4_module libexec/apache2/

<IfModule !mpm_winnt.c>
<IfModule !mpm_netware.c>

User www
Group www


UseCanonicalName Off

DocumentRoot "/usr/local/www/data"

<Directory />
Options FollowSymLinks
AllowOverride None

<Directory "/usr/local/www/data">

Options Indexes FollowSymLinks

AllowOverride None

Order allow,deny
Allow from all


UserDir public_html

DirectoryIndex index.html index.html.var

AccessFileName .htaccess


<Files ~ "^\.ht">
Order allow,deny
Deny from all

TypesConfig etc/apache2/mime.types

DefaultType text/plain

<IfModule mod_mime_magic.c>
MIMEMagicFile etc/apache2/magic

HostnameLookups Off

ErrorLog /var/log/httpd-error.log

LogLevel warn

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

CustomLog /var/log/httpd-access.log combined

ServerTokens Full

ServerSignature On

Alias /icons/ "/usr/local/www/icons/"

<Directory "/usr/local/www/icons">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all

AliasMatch ^/manual(?:/(?:de|en|fr|ja|ko|ru))?(/.*)?$ "/usr/local/share/doc/apache2$1"

<Directory "/usr/local/share/doc/apache2">
Options Indexes
AllowOverride None
Order allow,deny
Allow from all

<Files *.html>
SetHandler type-map

SetEnvIf Request_URI ^/manual/de/ prefer-language=de
SetEnvIf Request_URI ^/manual/en/ prefer-language=en
SetEnvIf Request_URI ^/manual/fr/ prefer-language=fr
SetEnvIf Request_URI ^/manual/ja/ prefer-language=ja
SetEnvIf Request_URI ^/manual/ko/ prefer-language=ko
SetEnvIf Request_URI ^/manual/ru/ prefer-language=ru
RedirectMatch 301 ^/manual(?:/(de|en|fr|ja|ko|ru)){2,}(/.*)?$ /manual/$1$2

ScriptAlias /cgi-bin/ "/usr/local/www/cgi-bin/"

<IfModule mod_cgid.c>


<Directory "/usr/local/www/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all

IndexOptions FancyIndexing VersionSort

AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip

AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*

AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif core

AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^

DefaultIcon /icons/unknown.gif

ReadmeName README.html
HeaderName HEADER.html

IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t

Norwegian (no) - Polish (pl) - Portugese (pt)
# Brazilian Portuguese (pt-BR) - Russian (ru) - Swedish (sv)
# Simplified Chinese (zh-CN) - Spanish (es) - Traditional Chinese (zh-TW)
AddLanguage ca .ca
AddLanguage cs .cz .cs
AddLanguage da .dk
AddLanguage de .de
AddLanguage el .el
AddLanguage en .en
AddLanguage eo .eo
AddLanguage es .es
AddLanguage et .et
AddLanguage fr .fr
AddLanguage he .he
AddLanguage hr .hr
AddLanguage it .it
AddLanguage ja .ja
AddLanguage ko .ko
AddLanguage ltz .ltz
AddLanguage nl .nl
AddLanguage nn .nn
AddLanguage no .no
AddLanguage pl .po
AddLanguage pt .pt
AddLanguage pt-BR .pt-br
AddLanguage ru .ru
AddLanguage sv .sv
AddLanguage zh-CN .zh-cn
AddLanguage zh-TW .zh-tw

LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW

ForceLanguagePriority Prefer Fallback

AddDefaultCharset ISO-8859-1

AddCharset ISO-8859-1 .iso8859-1 .latin1
AddCharset ISO-8859-2 .iso8859-2 .latin2 .cen
AddCharset ISO-8859-3 .iso8859-3 .latin3
AddCharset ISO-8859-4 .iso8859-4 .latin4
AddCharset ISO-8859-5 .iso8859-5 .latin5 .cyr .iso-ru
AddCharset ISO-8859-6 .iso8859-6 .latin6 .arb
AddCharset ISO-8859-7 .iso8859-7 .latin7 .grk
AddCharset ISO-8859-8 .iso8859-8 .latin8 .heb
AddCharset ISO-8859-9 .iso8859-9 .latin9 .trk
AddCharset ISO-2022-JP .iso2022-jp .jis
AddCharset ISO-2022-KR .iso2022-kr .kis
AddCharset ISO-2022-CN .iso2022-cn .cis
AddCharset Big5 .Big5 .big5
# For russian, more than one charset is used (depends on client, mostly):
AddCharset WINDOWS-1251 .cp-1251 .win-1251
AddCharset CP866 .cp866
AddCharset KOI8-r .koi8-r .koi8-ru
AddCharset KOI8-ru .koi8-uk .ua
AddCharset ISO-10646-UCS-2 .ucs2
AddCharset ISO-10646-UCS-4 .ucs4
AddCharset UTF-8 .utf8

AddCharset GB2312 .gb2312 .gb
AddCharset utf-7 .utf7
AddCharset utf-8 .utf8
AddCharset big5 .big5 .b5
AddCharset EUC-TW .euc-tw
AddCharset EUC-JP .euc-jp
AddCharset EUC-KR .euc-kr
AddCharset shift_jis .sjis

AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz

AddHandler cgi-script .cgi

AddHandler type-map var

# PHP MIME types

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0

BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully
BrowserMatch "^gnome-vfs" redirect-carefully

<IfModule mod_ssl.c>
Include etc/apache2/ssl.conf

NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot /home/dummy/public_html
ErrorLog /home/dummy/logs/error_log
CustomLog /home/dummy/logs/access_log common
ScriptAlias /cgi-bin/ /home/dummy/cgi-bin/
DirectoryIndex index.html index.htm index.php
Options ExecCGI Includes
AddHandler php4-script php
AddHandler cgi-script cgi
<Directory "/home/dummy/public_html">
Options ExecCGI FollowSymLinks Includes IncludesNOEXEC
AddHandler server-parsed php
DirectoryIndex index.php index.html index.htm

Last edited by pnh73; 01-19-2004 at 04:59 PM.
Old 01-19-2004, 04:56 PM   #2
Registered: Jul 2003
Location: Birmingham, UK
Distribution: Ubuntu,Debian
Posts: 381

Original Poster
Rep: Reputation: 30
I just checked my logs and I am getting this when I restart which kinda indicates that the module is loaded:

[Mon Jan 19 21:53:13 2004] [notice] Apache/2.0.48 (Unix) PHP/4.3.1 configured -- resuming normal operations
Old 01-19-2004, 05:01 PM   #3
Registered: Jul 2003
Location: Birmingham, UK
Distribution: Ubuntu,Debian
Posts: 381

Original Poster
Rep: Reputation: 30

This was the problem:

AddHandler server-parsed php

should have been

AddHandler php4-script php


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
Tearing my hair out!! kcommins Linux - Software 6 08-29-2005 03:36 PM
Failed attempts to serve PHP with Slack 8.1 causing hair loss! dnnrly Linux - Newbie 1 12-02-2003 08:44 AM
apache problem and losing hair i dont have Robin01 Linux - Newbie 1 09-13-2003 04:57 PM
Port forwarding just isnt working... Apache / xinetd Please help! liquidskin Linux - Networking 3 09-09-2003 05:12 PM
Apache2, php code parsed as *.shtml bmar Linux - General 4 06-29-2003 05:46 AM

All times are GMT -5. The time now is 05:06 PM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration