Installing PHP with Apache on either non-Windows or Windows platforms
has gotten increasingly easier as more and more people take up development,
report bugs, and generally contribute to the growth of PHP. The Windows
installation takes less than half an hour and the non-Windows installation
is also quite speedy (but it depends on the speed of your machine, since
you're actually building something).
Whichever platform you use, swapping out functionality is a breeze. You
either find a *.dll, stick it in your extension directory and enable it in
php.ini (Windows), or you "make clean" and run a new configuration in the
non-Windows world. And the phpinfo() function is there to tell you what
really is or isn't installed.
Also there to help you along the way are thousands of PHP users, willing
to help you with your installation problems. The mailing list is
firstname.lastname@example.org, and to subscribe, send a message to
email@example.com. For a list of all of your support
options, including mailing lists in languages other than English, visit the
php.net Support page.
Some things to remember before issuing a cry for help:
- Have you checked the PHP FAQ?
- Have you made some logical attempts to fix the problem, i.e., locating
lost libraries and running ldconfig, checking that you restarted Apache
after making changes, you don't have a hidden file extension of .txt on
your scripts, etc.?
- Do you know what you have installed, i.e., the module version or the
- Do you know your system information, i.e., Red Hat 6.2, Windows NT, as
well as the Web server and PHP versions?
The most important one of these to check that you've done is the
"logical attempt to fix the problem," since a lot of the installation
problems are pilot error -- mistyped configuration commands, typos in
httpd.conf, etc. Once, in the middle of the night after a lot of coffee
and penguin mints, I was installing Apache and PHP4 on my
lowest-common-denominator machine (Thinkpad 755CD, 90Mhz, Slackware 4.0)
just to see if it could handle it without dying. My build kept failing on
MySQL support. I'd been through the basic build about a million times, so
I couldn't figure out what the deal was, until I got my bleary eyes to
focus and saw that "myswl" and "mysql" are in fact, NOT the same things ...
that same night I was also misspelling "httpd" -- two "Ts", not two
"Ps"! So, check for things like that. The software's great, just
sometimes the pilot needs a smack in the head.