Date: Thu, 21 Jun 2007 11:42:42 -0400 (EDT) From: doug@safeport.com To: Jack Barnett <jackbarnett@gmail.com> Cc: freebsd-questions@FreeBSD.ORG Subject: Re: Apache, php? Message-ID: <20070621112805.F31979@pemaquid.safeport.com> In-Reply-To: <4679DA07.4060307@gmail.com> References: <467763C3.306@gmail.com> <20070620112448.G5906@fledge.watson.org> <4679DA07.4060307@gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 20 Jun 2007, Jack Barnett wrote: > doug wrote: >> On Tue, 19 Jun 2007, Jack Barnett wrote: >> >>> FreeBSD 6.2 >>> Apache 1.3.37 (from ports) >>> php 5.2.3 (from ports) >>> >>> on the command line doing `php index.php` works. >>> But if I use it though a web browser it just displays the php code. >>> >>> I installed it like this (extensions to) >>> http://www.mydigitallife.info/2006/04/14/installing-web-server-in-freebsd-60-with-apache-22-mysql-50-and-php-5-part-5/ >>> >>> The only difference is that I'm using 1.3 and not 2.x of Apache. >>> >>> Apache config below >>> Installing 2.x isn't an option yet (test server, still need 1.3) >>> >>> fire2# grep -i php * >>> httpd.conf:AddType application/x-httpd-php .php >>> httpd.conf:AddType application/x-httpd-php-source .phps >>> httpd.conf: <IfModule mod_php3.c> >>> httpd.conf: <IfModule mod_php4.c> >>> httpd.conf: DirectoryIndex index.php index.php3 index.html >>> httpd.conf: <IfModule !mod_php4.c> >>> httpd.conf: DirectoryIndex index.php3 index.html >>> httpd.conf: <IfModule !mod_php3.c> >>> httpd.conf: <IfModule mod_php4.c> >>> httpd.conf: DirectoryIndex index.php index.html >>> httpd.conf: <IfModule !mod_php4.c> >>> httpd.conf: <IfModule mod_php3.c> >>> httpd.conf: AddType application/x-httpd-php3 .php3 >>> httpd.conf: AddType application/x-httpd-php3-source .php3s >>> httpd.conf: <IfModule mod_php4.c> >>> httpd.conf: AddType application/x-httpd-php .php >>> httpd.conf: AddType application/x-httpd-php-source .phps >>> httpd.conf: AddType application/x-httpd-php .php >>> httpd.conf: AddType application/x-httpd-php-source .phps >>> >> I just installed this combination, among the changes to httpd.conf I change >> pph4-->php5 (see below). You are not getting an index file. If you have >> 'Options +Indexes' browsing will get you an index listing but will not run >> index.php. >> >> >> # >> # This may also be "None", "All", or any combination of "Indexes", >> @@ -452,18 +454,18 @@ >> # >> <IfModule mod_dir.c> >> <IfModule mod_php3.c> >> - <IfModule mod_php4.c> >> + <IfModule mod_php5.c> >> DirectoryIndex index.php index.php3 index.html >> </IfModule> >> - <IfModule !mod_php4.c> >> + <IfModule !mod_php5.c> >> DirectoryIndex index.php3 index.html >> </IfModule> >> </IfModule> >> <IfModule !mod_php3.c> >> - <IfModule mod_php4.c> >> + <IfModule mod_php5.c> >> DirectoryIndex index.php index.html >> </IfModule> >> - <IfModule !mod_php4.c> >> + <IfModule !mod_php5.c> >> DirectoryIndex index.html >> </IfModule> >> </IfModule> >> > > hrm... no I don't think that's it. > I put this in: > DirectoryIndex index.php index.html > > I have php5 install > > I created this file: > test.php > <?php print ("Hello World<BR>\n"); ?> > But that doesn't work either. > > Is mod_layout screwing it up? > > I don't understand what is wrong with it? > `php test.php` works fine. > > Also there is no Module Load/Add in the httpd.conf for php. I can't even > find the libraries! > > But /usr/local/bin/ has php and php-cgi (both executables). > > Do I need to tell apache how to execute .php files? > Not sure you may also be missing the additions to the load and add modules sections. This setup was specifically to run SquirrelMail. I had a working test install and I wanted to add SSL. My first shot was to just reinstall apache-modssl. This required recompiling a single php module. I never got that done so I removed apache, php and squirrel mail and installed (order is important): apache-modssl squirrelmail and let the build for squirrelmail pull in php. In this order I got all the necessary mods to httpd.conf and the php module I needed was rebuilt. If you are facile with make all this can be skipped but I found it quicker to do it this way. Here are the php relate directive in my httpd.conf: : LoadModule php5_module libexec/apache/libphp5.so : AddModule mod_php5.c : <IfModule mod_php3.c> <IfModule mod_php5.c> DirectoryIndex index.php index.php3 index.html </IfModule> <IfModule !mod_php5.c> DirectoryIndex index.php3 index.html </IfModule> </IfModule> <IfModule !mod_php3.c> <IfModule mod_php5.c> DirectoryIndex index.php index.html </IfModule> <IfModule !mod_php5.c> DirectoryIndex index.html </IfModule> </IfModule> </IfModule> : <IfModule mod_php5.c> AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps </IfModule> : #SSLOptions +FakeBasicAuth +ExportCertData +CompatEnvVars +StrictRequire <Files ~ "\.(cgi|shtml|phtml|php3?)$"> SSLOptions +StdEnvVars </Files> This last one only if you have SSL (of course). _____ Douglas Denault http://www.safeport.com doug@safeport.com Voice: 301-469-8766 Fax: 301-469-0601
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070621112805.F31979>