• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 2396
  • Last Modified:

How to compile and install PHP 5.2.6 on Xserve running Mac OS X Server 10.5.3

I need to update the version of PHP that is running on our xserver.  I am told that 5.2.6 must be installed to meet a requirement for PCI compliance.  Apple has 5.2.4 listed on their site as a download but not 5.2.6.  I have downloaded 5.2.6 from php.net and now do not know how to install.  Do I need to download anything else and how do I compile and install?
1 Solution
If there is no special need for 5.2.6 (application used tdoes not work because of a bug in php) stick with 5.2.4.
To compile you need a lot of additional development libraries and if you are not realy familiar with compiling programs it will take you days to get your installation to work as you expect it.
if you like, you can try the following steps:
sudo mv /usr/local/php5 ~/Desktop/php5.old
curl -O http://us3.php.net/distributions/php-5.2.6.tar.gz 
tar -xzf php-5.2.6.tar.gz
sudo mv php5 /usr/local/
sudo ln -sf /usr/local/php5/entropy-php.conf /etc/apache2/other/+entropy-php.conf
sudo apachectl restart

and you can find more info here:

hope it helps.
tammyfAuthor Commented:
We can't stick with 5.2.4 because it does not meet PCI compliance requirements.  We are being forced to upgrade so we can keep accepting credit cards.
Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

In terminal type (apachectl -V) and post the output
tammyfAuthor Commented:
Here is the output from apachectl -V attached.
Install xcode if not already Installed.

Find the header files for your version of MySQL.
This example assumes they are located @ /usr/local/mysql/
You can find your version by typing mysql -V in the terminal.

open terminal and enter the following...


cp /usr/libexec/apache2/libphp5.so /usr/libexec/apache2/libphp5.so.old

mkdir /source

cd /source

curl -O http://www.ijg.org/files/jpegsrc.v6b.tar.gz

tar -xvf jpegsrc.v6b.tar.gz

curl -o "php-5.2.6.tar.bz2" -L http://us2.php.net/get/php-5.2.6.tar.bz2/from/us.php.net/mirror

tar -xvjf php-5.2.6.tar.bz2

cd /source/jpeg-6b

cp /usr/share/libtool/config.sub .

cp /usr/share/libtool/config.guess .

MACOSX_DEPLOYMENT_TARGET=10.5 CFLAGS="-arch x86_64 -g -Os  -pipe -no-cpp-precomp" CCFLAGS="-arch x86_64 -g -Os  -pipe" CXXFLAGS="-arch x86_64 -g -Os  -pipe" LDFLAGS="-arch x86_64 -bind_at_load" ./configure --enable-shared


mkdir -p /usr/local/include

mkdir -p /usr/local/bin

mkdir -p /usr/local/lib

mkdir -p /usr/local/man/man1

make install

cd /source/php-5.2.6/ext/gd


cd ../..

CFLAGS="-arch x86_64 -g -Os -pipe -no-cpp-precomp" \
CCFLAGS="-arch x86_64 -g -Os -pipe" \
CXXFLAGS="-arch x86_64 -g -Os -pipe" \
LDFLAGS="-arch x86_64 -bind_at_load" \
./configure --prefix=/usr \
  --mandir=/usr/share/man \
  --infodir=/usr/share/info \
  --sysconfdir=/etc \
  --with-zlib \
  --with-zlib-dir=/usr/ \
  --with-jpeg-dir=/usr/local/lib \
  --with-png-dir=/usr/X11R6 \
  --with-freetype-dir=/usr/X11R6 \
  --with-xpm-dir=/usr/X11R6 \
  --with-openssl \
  --with-curl \
  --enable-exif \
  --enable-ftp \
  --enable-mbstring \
  --enable-mbregex \
  --enable-sockets \
  --with-mysql=/usr/local/mysql \
  --with-mysqli=/usr/local/mysql/bin/mysql_config \
  --with-apxs2=/usr/sbin/apxs \


make install

cp /etc/php.ini.default /usr/lib/php.ini
edit /usr/lib/php.ini
add -> extension=gd.so
disable -> extension_dir = "./"
save and exit
edit /etc/apache2/httpd.conf
search for libphp5.so
make sure it is enabled
if you can't find it add the line -> LoadModule php5_module        libexec/apache2/libphp5.so
save and exit
apachectl -k graceful

Load a file with phpinfo(); and see if it worked.

This worked for me on a fresh install of Leopard Server updated to 10.5.3
tammyfAuthor Commented:
Thanks for all of that however I don't know how to load a file with phpinfo().  However I am willing to try the commands above and then just reinstall the operating system if something goes wrong.
forgot to mention to install the X11 SDK also included in the xcode dmg file
There should be a file called info.php in the directory /Library/WebServer/Documents
open it with textedit and remove the // before phpinfo(); and save.
in your browser navigate to http://localhost/info.php
you should get a page telling you information about php.

Hope this helps.
tammyfAuthor Commented:
I will try it this weekend when I can take the server down without causing an uproar.  I will post my results.  Thanks!
tammyfAuthor Commented:
This was a thorough explanation.  Apple came out with the update so I did not have to use it however.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now