To install PHP from source with Suhosin patch: (on SuSE Linux for this example)
Download and unpack the latest PHP tarball from:
http://www.php.net/downloads.php (untar with: tar xvzf php-[version].tar.gz)
Download the matching Suhosin patch from
http://www.hardened-php.net/suhosin/download.html , cd into the new PHP directory, and run:
patch -p 1 -i ../suhosin-patch-5.2.6-0.9.6.2.patch
Then compile PHP with the option –enable-suhosin. I like using /usr/local/apache2 as the base path so I will remember to upgrade PHP along with apache in the future.
./configure --with-apache2=/usr/local/apache2/bin/httpd \ --with-oci8=/oracle/product/10g \ --enable-sigchild \ --enable-force-cgi-redirect=yes \ --enable-safe-mode=yes \ --disable-inline-optimization \ --with-apxs2=/usr/local/apache2/bin/apxs \ --with-mysql=/usr/bin/mysql \ --enable-so --with-zlib \ --enable-fastcgi --with-gettext \ --prefix=/usr/local/apache2/php5 \ --with-config-file-path=/usr/local/apache2/php5 \ --enable-suhosin make; sudo make install
- Edit lines in Apache’s httpd.conf for php support:
DirectoryIndex index.html index.htm index.cgi initial.html \ index.php index.jsp # if this is the location of your php main binary ScriptAlias /php/ "/usr/bin/" <Location ~ /php> AddType application/x-httpd-php .php .phtml Action application/x-httpd-php "/php/php" LoadModule php5_module /usr/local/apache2/modules/libphp5.so </Location>
- Set up your php.ini by copying over the provided version; tweak for memory upload settings
cp php.ini-dist /usr/local/lib/php.ini
- Restart Apache, and test by viewing the phpinfo.php web page, which is equal to running ‘php -i’:
<? phpinfo(); ?>
You should now have PHP running.