I have been invited to host a panel at this year’s MacWorld Expo on the topic of setting up OS X as an AMP-based (Apache, MySQL, PHP) web database development platform. If you plan to be in San Francisco January 7, come say hurro.
Music: The Incredible String Band :: A Very Cellular Song
Sounds like a good time. I’ve never been to a macintosh-anything. In fact, I think the only computer related event I’ve ever been to was when I was 16 and went to a “big” computer show in a National Guard Armoury near Philadelphia. It was actually kind of puny… and seedy.
Speaking of PHP and MySQL… my winter break is coming up and I want to do a million things, including experimenting with these two technologies. What online tutorials and books would you suggest looking into for the interested newbie?
There are tons of resources out there. If you’re setting up an OS X machine, try this:
http://www.macworld.com/2002/11/features/database.html
If you just want to learn PHP and MySQL (which for most intents really mostly means learning PHP – after MySQL is installed, you don’t touch it much).
Here’s the Resources section of my article – this stuff should be useful to anyone learning AMP on any platform.
—
Recommended Reading
There are hundreds of communities, sample scripts, and tutorials out there to help you get up to speed with MySQL and PHP. Here are a few of our favorites, though this list is by no means exhaustive.
The “Official” MySQL Tutorial: (www.mysql.com/documentation/mysql/bychapter/manual_Tutorial.html) Terse but definitive, this tutorial focuses exclusively on MySQL, ignoring PHP and other connecting languages.
Webmonkey: PHP/MySQL Tutorial: (hotwired.lycos.com/webmonkey/programming/php/tutorials/tutorial4.html) This one pleasantly guides the reader through the creation of simple scripts which interact with forms, include statements, database connection code, data validation, and more.
Speaking SQL (www.devshed.com/Server_Side/MySQL/Speak) At some point, you’re going to need to speak a bit of Structured Query Language, so you can tell your PHP scripts exactly how to interact with your databases. This tutorial teaches just enough pure SQL to get you there.
OnLAMP (Linux, Apache, MySQL, PHP): (www.onlamp.com) A meta-resource on AMP development from the O’Reilly Network, who produce the industry’s best technical reference books. This site emphasizes open source tools.
PHPMac: (www.phpmac.com) PHP development resources tailored for Mac users.
HotScripts.com (www.hotscripts.com/PHP/Scripts_and_Programs/) A massive collection of pre-fab PHP scripts, ready to plug in to your site. In most cases, all you have to do (besides have a working PHP/MySQL rig) is tweak a few variables and go.
PHPBuilder: (www.phpbuilder.com/) Indispensable collection of articles and forums. Thousands of PHP developers – beginning to advanced – from around the world congregate here to discuss the finer points of script building.
Wow, thanks!
hey, scot, i’d love to be in the audience for that panel… i’ve barely touched the AMP setup on my timac since we last fiddled with it.
Would love to see you there…
Hello. Thanks for the great article. I followed along with your article and a Dreamweaver/PHP book by Glasshaus and got everything up and running swimmingly; including phpMyAdmin.
A couple days later I tried getting to the database from M$ IE and now I get “A Connection Error has Occured” every time. I think it’s some sort of Apache problem (*insert newbie alert* but i don’t know) because when I “show databases” from the Terminal, the ones I created with phpMyAdmin that first time are there but I can’t get to them from the browser. (Sharing is on and the conf file is correct.)
I share a DSL connection so i don’t have a static IP address on my computer. Somehow I think that has something to do with this problem. I can’t get to anything via “http://localhost…” via my browser but the rest of the internet works just fine. (Running 10.2.2.)
So since I couldn’t find any references online or in your article on this topic, I hunted you down (hehehe) and am asking here for a teensy bit of help. :-) Any helpful thoughts would be most appreciated. THANKS! Can’t wait to get this working again.
I followed your detailed superb info on setting up PHP and mySQL. I got PHP support on, but isn’t the directoryinfo (local, etc.) only for a local user on OSX? I’m trying to setup mySQL on OSX Server Jaguar. I’m getting the following error:
” ERROR 2002: Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (61) ”
Does the OSX Server have different directories than simple OSX to put MySQL in? Test.php does indeed return “MySQL Support – enabled”, and “module_type – builtin”, and “socket – /tmp/mysql.sock”, and this is running inside my OSX Server Web directory. I put phpadmin in the server web folder, and it runs, but returns: “MySQL said” with the above error message. So it seems everything is on, but some locations are in error.
What’s the fix?
Hank, it sounds like Apache simply isn’t running – check your sharing prefs and make sure Web sharing is on. If it is enabled but Apache isn’t running, there must be some problem in your httpd.conf…
Scott: I got my “AMP” rig working, and I’ve been nonstop with it for a couple of weeks. Thanks again so much for the cool info. My Question:
Have you fooled around with TomCat? Apple has talked it up, but I don’t see anyone utilizing it, yet. Is there some great benefit, or capability it extends to a server, not yet capable with PHP, or MySQL?
An article on enabling it in MacWorld by someone (?) and doing something unique with it would create quite an interest.
Congrats, Hank. I have not personally experimented with TomCat. In fact, I haven’t yet found a problem I couldn’t solve with PHP. That doesn’t mean there isn’t one out there, only that I still have a lot of learning to do to master PHP/MySQL, before biting off a piece of TomCat ;)
Still, I’m sure MacWorld would be interseted in doing a TomCat piece – I should propose it to them.
Scot: I’ve mused a bit re: PHP and if I’ve got my head on straight, it seems that anything that can be placed between and , i.e. framesets, layers, javascript functions, behaviors, Flash, Shockwave, and Quicktime streaming video, can be scripted and generated by PHP. Do you agree?
For instance, in my musings I see a client, after paying a fee with a credit card, in a SSL, then receiving a password via email, which he would use to authenticate in a .php, and receive a PHP generated html page with an embed live streaming QT video, of what?, well you ponder… anything from the obvious private girl, to an interview with anybody interesting, to an archived video of a concert, lecture, etc. I suppose this has already been done 10,000 times, yes?
Hank, correct – you can do all these things with PHP. Anything you can do with HTML, can do with PHP, but with page logic added.
Scot: I’m building an PHP/MySQL alumni database for my school. I notice you have done so already. Some general questions… Did you go ahead and enter all alumni up front into the db so new users have something to search, or are you letting it build as people subscribe? We probably have 4,000 alumni (if not more). So we would be inputting data for a while. I guess I could let people find their name and then update their own info. How did you proceed? Any insights for me? And how has the use of your database been so far. Have people used it enough for you to justify its existence?
Thank
Hank
Hi Hank –
We already had an alumni database going back to 1904 (!) in FileMaker, so party of my job there was to convert it to MySQL. Manual data entry would be out of the question, unless you had an intern to do it for you or something.
So we started with an actual database and let the alumni update their own information.
Found comments while looking for “Alumni” and a way to automate my alumni site. Notice dates are old so maybe you have gained more experience and might have some good suggestions. I would appreciate an e-mail. Could really use the help.
Thanks,
Jim
got hung up with OSX 10.4 and PHP/MYSQL…. PHP runs but I can’t get MYSQL to run. Have done ALL the Apple relocation items to find the socket but to no avail.
Any resources online you know of?
Thanks,
Hank
Hank, I’d start at macosxhints.com – lots of stuff on this there.