Channels ▼

Web Development

Apache, MySQL, And PHP Weekend Crash Course

June, 2004: Apache, MySQL, And PHP Weekend Crash Course

Jack J. Woehr is an independent consultant and team mentor practicing in Colorado. He can be contacted at

Apache, MySQL, and PHP Weekend Crash Course
Steven M. Schafer
John Wiley & Sons, 2004
504 pp., $24.99
ISBN 0-7645-4320-2

It's an interesting concept. Spend the weekend, from Friday evening through Sunday afternoon, in thirty 30-minute sessions on a subject and master it. In this case, the subjects are: the Apache web server, the MySQL database, the PHP hypertext preprocessor, and the integration of the three. Apache, MySQL, and PHP Weekend Crash Course is a structured learning seminar in a book. The author, Steven Schafer, is humane enough to recommend that the reader "take some time to relax after each session to let the information sink in and prepare for the next session." Kind of like the SATs, but the SATs are shorter.

The book targets a reader who is familiar with programming and web serving but may be utterly novice to the specific tools being taught. Everything is laid out for that reader, starting with the web sites from which to download the tools and pointers for choosing versions and avoiding pitfalls in the download-and-installation process. Windows and Linux are the two targeted operating systems, but the structure is such that a reasonably savvy reader could "translate" the advice for BSD, Solaris, OS X, and the like. The book is artfully planned, designed, and laid out so that the minimum of visual confusion and page bloat are incurred in the presentation of the obligatory Windows screen shots. The best aspects of this book are the ordering and pacing of the subject matter, and the tasteful presentation, leaving Windows readers feeling fully at home while not drowning the Linux reader in Windows details.

Per the prescribed program, Friday evening is getting and installing the three components and learning to configure Apache with PHP. Saturday morning is more Apache configuration, setting up MySQL and security issues with the two. Saturday afternoon is lots of MySQL and PHP. Saturday evening is heavy HTML and PHP. Sunday morning is good practice with PHP/MySQL and debugging the two. Sunday afternoon is projects. The deuce is in the details; I've just offered here the summary of a summary of a summary of the 400+ page book. Ambitious as it is, Apache, MySQL, and PHP Weekend Crash Course is a masterfully executed encapsulation that epitomizes the problem domain.

That said, the promotional premise of this publication—a Monday presentation after the weekend brainbath—is absurd. Apache, MySQL, and PHP Weekend Crash Course is of great value if this most popular scripting-webserver-with-database vertical free-software stack is of critical interest to you. You will indeed learn the overall concept of why you would wish to integrate these three tools, along with the basics of installation, configuration, and programming of the resulting system. You will, however, most likely spend a good deal more calendar time than a weekend and more than 30 hours screen time working through the structured learning. It's almost plausible that one could allow one's intellect to be primed with this amount of information in the source of a weekend's forced march through the book. If, however, the material is truly novel to the reader, there's going to be a lot of backtracking to half-remembered points and many long pauses just to let the eyes adjust and to internalize even that beginner's portion of the deep subject matter that this book serves up. Okay, in a week or two, you might be ready for that Monday presentation, but after the presentation, the real learning begins. SQL in 30 minutes? I've been struggling with it since 1996. Apache and MySQL?Each has its own bookshelf. PHP? Welcome to learning the ins and outs of another text-processing language vastly more feature-laden than m4 and with the concomitant loss of theoretical focus.

It comes down to how you define learning: as an exhausting cram for the test review at the end of each section or as genuinely absorbing both the broad concept and the particular detail. Those skilled at the former ace the API-specific job interviews, then spend a lot of time wandering across the terrain writing, unwriting, and rewriting oft-tangled code; those enamored of the latter sort of learning have the firmer grasp and the steadier hand on the keyboard—they can't be pushed faster than they can tread surely and also tend to state their qualifications more modestly and diffidently in the interview. I've hired both types of programmers: I admire the energy of the crammers and treasure the depth of the absorbers. It takes all kinds to keep the team on its toes.

The book's companion web site is compbooks/schafer/. The site presents the samples files, errata (yes, there are a few), and a practice test done in Flash. The Wiley product site for the book, presenting the table of contents, an excerpt in PDFform, and reviews of the book is found at http://www


Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.