Using PHP on Mac OS X
Document Sample


Using PHP on
Mac OS X
A brief and entirely incomplete HOW-TO for
the University of Texas’ PHP User’s Group
Just read this article:
• http://developer.apple.com/internet/mac
osx/php.html
• http://www.phpmac.com/
• The end.
Just kidding...
There are three ways to get PHP:
built it yourself (see previous article)
download a binary distribution
use what’s provided (Mac OS X
Server)
Built It Yourself...
• Download Mac OS X Developer Tools from
http://developer.apple.com/tools/ (requires free
registration)
• Read
http://www.macdevcenter.com/pub/a/mac/colle
ctions/unix.html
• Read
http://developer.apple.com/internet/macosx/ph
p.html
Before you BIY...
• Consider the following:
Using built-in Apache? Probably a good idea
Which options will you support? A few
suggestions:
• apache, inline-optimization, zlib, libjpeg, libpng, gd, mysql or pgsql, xml, apxs,
dom
Are those installed? Where are the libs? If you
use Fink, they’re mostly in /sw. Many others in
/usr/local
Document what config options you use!
A good rule: use what is provided, print
that out and save it
Use the “recommended” php.ini
(http://cvs.php.net/co.php/php4/php.ini-
recommended)
Binary distributions
• http://www.entropy.ch/software/
• http://www.aaronfaby.com/
About binary dists...
• Caveat emptor
• Uncertain update schedule (possible delay
for vulnerability updates)
• Configuration may have missed something,
or more likely took kitchen sink approach
• Some platforms, may be linked to non-free
libraries you can’t have (should use gnu!)
Use what you’re
given
• Jaguar has Apache 1.3 with PHP 4.3
• Read
http://www.macdevcenter.com/pub/a/mac/2002
/01/04/apache_macosx_pt3.html
Great! But...
• Apple doesn’t update components frequently -
usually security fixes only, unless it’s with an
OS revision
• You don’t get to chose config options
• Doesn’t use recommended php.ini
• Can you find any build documentation?
OS X vs. OS X
Server
• No huge difference - it’s Apache 1.3.x either
way
• Mac OS X Server has cute GUI tools for
configuring - use them, even if you’re a CLUI
buff, otherwise you risk breaking updates
• None of the 3rd-party installers clobber built-in
configs, so be prepared to explicitly name
directories, etc. (this is a good thing)
PEAR
• What is it? Kind of like CPAN
• Support built into Jaguar
• Read
http://www.macdevcenter.com/pub/a/mac/20
03/01/21/pear_macosx.html
• http://pear.php.net/
Useful Links
• http://www.phpmac.com/
• http://developer.apple.com/internet/macosx/
• http://www.macdevcenter.com/
• http://fink.sourceforge.net/
• http://osdir.com/
Fink
• http://fink.sourceforge.net/
• Based on Debian dpkg/apt-get suite
• Mac OSS community well represented
• Fink Commander provides GUI
wrapper:
http://finkcommander.sourceforge.net/
phpMyAdmin
• http://www.phpmyadmin.net/
• Built in PHP (but not 5, nor mySQL 4.1 yet)
• Download it to any PHP-enabled web server,
edit config.inc.php and you’re done
• Use .htaccess, and consider running under
SSL cuz you’ll likely run it as SQL “root” user
• Consider only starting it when you need it
Apple Project Builder
• http://developer.apple.com/internet/macosx/ph
pappledevtools.html
• “Pretty” editor, with colors and code
bracketing/formatting
• Built-in CVS utilities - e.g. PEAR checkout
• 2.1 “broke” pretty colors within PHP code, as
near as I can tell :(
Last words/Q & A
• Got any?
Get documents about "