Diese Kapitel beschreibt die Installation von PHP unter Mac OS X. PHP wird auf Macs ausgeliefert; das Kompilieren ist ähnlich zur Installation unter Unix.
My httpd.conf had some of the lines, but not all of them -- mine was missing the LoadModule and AddModule lines for php. I'm not sure why -- I don't delete any of those; I just comment them out if I'm not using them. Plus, the note above put a space in "LoadModule"; it has no space. I didn't know about the "apachectl graceful" trick, though -- since "httpd -k restart" stopped working (probably around 10.2), I had just been doing it manually -- find the process, kill it, and hit httpd again -- thanks for the tip!
So for those who are missing any of the lines, here are the full lines.
In the section with all the other LoadModules:
LoadModule php4_module libexec/httpd/libphp4.so</div>
Directly below that section should be the AddModules; you need:
AddModule mod_php4.c
And then the AddType lines should be right after the language priorities (so after the AddCharset lines and after the LanguagePriority bit):
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
Then restart apache/httpd as described above, and hopefully you should be good.
BTW, the actual module should be at:
/usr/libexec/httpd/libphp4.so
So if things fail, you can check to see if that's there.
Thanks to others who posted here; it definitely helped and got me on the right track. I just had to find the module manually to write my own LoadModule line.
Just a note. The darwinports software is now macports and you can get it at: http://www.macports.org/
If you use macports, be sure to change any refernces you may have in your calling scripts to macports as the file macports now gets installed.
To build on MacOS X 10.3.5 set the environment variable CFLAGS in the following way (depending on your shell)
setenv CFLAGS "-DBIND_8_COMPAT=1 -DEAPI -O3"
export CFLAGS="-DBIND_8_COMPAT=1 -DEAPI -O3"
Then launch configure with the options:
./configure --prefix=/usr --mandir=/usr/share/man ....
The -DBIND_8_COMPAT=1 gets you over a problem in the DNS files because MacOS X has definitions for Bind9 and PHP expects Bind8 definitions. -DEAPI is needed if you build it for Apache 1.3.31. -O3 enables the gcc optimizer.
You can also add one of the following lines to your CFLAGS depending on the CPU you use to further improve speed:
-mcpu=G3 -mtune=G3
-mcpu=G4 -mtune=G4
-mcpu=G5 -mtune=G5
under MacOS 10.3 if your compile fails
vi Makefile
find the dns.c entry
add the switch -DBIND_8_COMPAT
run make again
PHP 4.3.0 can easily be build on Mac OS X client; you don't need to download a binary. The process is quite fast and painless.
See
http://www.onlamp.com/pub/a/php/2003/01/17/phpcookbook.html
for details.
10.1 with fink installed into /sw ,mysql installed from fink.
finally :
Apache/1.3.24 (Darwin) DAV/1.0.3 PHP/4.2.1 mod_ssl/2.8.8 OpenSSL/0.9.6c configured
initial apache config:
./configure --prefix=/sw --enable-shared=max --enable-module=most --target=apache --with-layout=GNU
--enable-suexec --suexec-caller=www-data
then php config:
./configure --prefix=/sw --with-xml --with-apache=../apache_1.3.24 --with-curl=/sw --with-pdflib=/sw
--enable-exif --with-mysq=/sw
then mod-ssl config:
./configure --with-apache=../apache_1.3.24 --with-ssl=/sw --enable-rule=SSL_SDBM
final apache config:
./configure --prefix=/sw --enable-shared=max --enable-module=most --target=apache --with-layout=GNU
--enable-suexec --suexec-caller=www-data --activate-module=src/modules/php4/libphp4.a --enable-module=ssl
on final make of apache there was error in src/modules/ssl. i had to rm -ldbm and -lgcc and run gcc line by hand. then was able to finish make.
i dont know what effect that may have on the build and i am interested to know, this was the only problem spot finally after many hours of hacking at it.
testing so far:
phpinfo() via http and https works.
for using PHP on MacOSX, see article #106485 of the Apple knowledge base
Getting PHP running on 10.1 is simple.
1. su to root
2. Edit /etc/httpd/httpd.conf
3. Uncomment "Load Module php4_module" line.
4. Uncomment "AddModule mod_php4.c" line.
5. Uncomment "AddType application/x-httpd-php .php" line.
6. Uncomment "AddType application/x-httpd-php-source .phps" line.
7. Find "<Directory /home/*/Sites>" block and uncomment the entire Directory directive block.
This will allow PHP to execute from ~/Sites directory.
For the latest on Mac OS X PHP installs (as of 10.0.4 on 9.24.01) check out http://developer.apple.com/internet/macosx/php.html
This page also has some info on MySQL installs.
If you've got Mac OS X pre-installed on your Mac, you've also got php4 pre-installed. You don't need to download or compile anything. You just need to edit the /etc/httpd/httpd.conf file. Use the "sudo open -a TextEdit..." command line, above. Search for "php", and make sure you've un-commented _all_ the relevant lines: the two AddType lines above, and also the AddModule and LoadModule lines. (but not the AddType lines for php3, since you'll be using php4.) Save and restart Apache with "sudo apachectl graceful", and you are done.