This section contains notes and hints specific to installing
PHP on Mac OS X Server.
There are a few pre-packaged and pre-compiled versions of PHP for
Mac OS X. This can help in setting up a standard
configuration, but if you need to have a different set of features
(such as a secure server, or a different database driver), you may
need to build PHP and/or your web server yourself. If you are unfamiliar
with building and compiling your own software, it's worth
checking whether somebody has already built a packaged
version of PHP with the features you need.
Lightyear Design offers a
pre-built version of PHP for OS X, as does
Tenon Intersystems.
There are two slightly different versions of Mac OS X, client and
server. The following is for OS X Server.
Example 2-4. Mac OS X server install
1. Get the latest distributions of Apache and PHP
2. Untar them, and run the configure program on Apache like so.
./configure --exec-prefix=/usr \
--localstatedir=/var \
--mandir=/usr/share/man \
--libexecdir=/System/Library/Apache/Modules \
--iconsdir=/System/Library/Apache/Icons \
--includedir=/System/Library/Frameworks/Apache.framework/Versions/1.3/Headers \
--enable-shared=max \
--enable-module=most \
--target=apache
4. You may also want to add this line:
setenv OPTIM=-O2
If you want the compiler to do some optimization.
5. Next, go to the PHP 4 source directory and configure it.
./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/share/man \
--with-xml \
--with-apache=/src/apache_1.3.12
If you have any other addiitons (MySQL, GD, etc.), be sure to add
them here. For the --with-apache string, put in the path to your
apache source directory, for example "/src/apache_1.3.12".
6. make
7. make install
This will add a directory to your Apache source directory under
src/modules/php4.
8. Now, reconfigure Apache to build in PHP 4.
./configure --exec-prefix=/usr \
--localstatedir=/var \
--mandir=/usr/share/man \
--libexecdir=/System/Library/Apache/Modules \
--iconsdir=/System/Library/Apache/Icons \
--includedir=/System/Library/Frameworks/Apache.framework/Versions/1.3/Headers \
--enable-shared=max \
--enable-module=most \
--target=apache \
--activate-module=src/modules/php4/libphp4.a
You may get a message telling you that libmodphp4.a is out of date.
If so, go to the src/modules/php4 directory inside your apache
source directory and run this command:
ranlib libmodphp4.a
Then go back to the root of the apache source directory and run the
above configure command again. That'll bring the link table up to
date.
9. make
10. make install
11. copy and rename the php.ini-dist file to your "bin" directory from your
PHP 4 source directory:
cp php.ini-dist /usr/local/bin/php.ini
or (if your don't have a local directory)
cp php.ini-dist /usr/bin/php.ini
|
|
Other examples for
Mac OS X client
and
Mac OS X server
are available at Stepwise.
Those tips are graciously provided by Marc Liyanage.
The PHP module for the Apache web server included in Mac OS X.
This version includes support for the MySQL and PostgreSQL databases.
NOTE: Be careful when you do this, you could screw up your Apache web server!
Do this to install:
1. Open a terminal window
2. Type "wget http://www.diax.ch/users/liyanage/software/macosx/libphp4.so.gz",
wait for download to finish
3. Type "gunzip libphp4.so.gz"
4. Type "sudo apxs -i -a -n php4 libphp4.so"
Now type "
sudo open -a TextEdit /etc/httpd/httpd.conf"
TextEdit will open with the web server configuration file. Locate these
two lines towards the end of the file: (Use the Find command)
* #AddType application/x-httpd-php .php
* #AddType application/x-httpd-php-source .phps
|
Remove the two hash marks (
#), then save the file and quit TextEdit.
Finally, type "sudo apachectl graceful" to restart the web server.
PHP should now be up and running. You can test it by dropping a file into
your "Sites" folder which is called "test.php". Into that file, write this
line: "<?php phpinfo() ?>".
Now open up 127.0.0.1/~your_username/test.php in your web browser.
You should see a status table with information about the PHP module.