Sams Teach Yourself PHP, MySQL and Apache in 24 Hours combines these
most popular open source Web development tools into one easy-to-understand book,
packaged with one easy-to-use Starter Kit CD. This book teaches the reader to
install, configure and set up the PHP scripting language, the MySQL database
system, and the Apache Web server. By the end of this book the reader will
understand how these technologies work, and more importantly, how they work
together to create a dynamic Web site. After creating a simple Web site using
these tools, the reader will be able to manage a simple mailing list, and to
create an online address book, shopping cart, and storefront.
Sams Teach Yourself PHP, MySQL and Apache in 24 Hours also teaches the
reader how to fine-tune Apache and MySQL, and covers simple Web server
security.
Table of Contents
Introduction.
Who Should Read This Book? How This Book Is
Organized. Conventions Used in This Book.
I. LAYING THE GROUNDWORK.
1. Installing and Configuring MySQL.
Current and Future Versions of MySQL. How to Get
MySQL. Installing MySQL on Linux/Unix. Installing MySQL on Windows.
Troubleshooting Your Installation. Basic Security Guidelines. Introducing the
MySQL Privilege System. Working with User Privileges. Summary. Q&A.
Workshop.
2. Installing and Configuring Apache.
Current and Future Versions of Apache. Choosing
an Installation Method. Installing Apache on Linux/Unix. Installing Apache on
Windows. Apache Configuration File Structure. Apache Log Files. Apache-Related
Commands. Starting Apache for the First Time. Troubleshooting. Summary. Q&A.
Workshop.
3. Installing and Configuring PHP.
Current and Future Versions of PHP. Building PHP
on Linux/Unix with Apache. Installing PHP Files on Windows. php.ini Basics.
Testing Your Installation. Getting Installation Help. The Basics of PHP Scripts.
Summary. Q&A. Workshop.
II. PHP LANGUAGE STRUCTURE.
4. The Building Blocks of PHP.
Variables. Data Types. Operators and
Expressions. Constants. Summary. Q&A. Workshop.
5. Flow Control Functions in PHP.
Switching Flow. Loops. Code Blocks and Browser
Output. Summary. Q&A. Workshop.
6. Working with Functions.
What Is a Function? Calling Functions. Defining
a Function. Returning Values from User-Defined Functions. Variable Scope. Saving
State Between Function Calls with the static Statement. More About Arguments.
Testing for the Existence of a Function. Summary. Q&A. Workshop.
7. Working with Arrays and Objects.
What Is an Array? Creating Arrays. Some
Array-Related Functions. Creating an Object. Object Inheritance. Summary.
Q&A. Workshop.
III. GETTING INVOLVED WITH THE CODE.
8. Working with Strings, Dates, and Times.
Formatting Strings with PHP. Investigating
Strings in PHP. Manipulating Strings with PHP. Using Date and Time Functions in
PHP. Summary. Workshop.
9. Working with Forms.
Creating a Simple Input Form. Accessing Form
Input with User-Defined Arrays. Combining HTML and PHP Code on a Single Page.
Using Hidden Fields to Save State. Redirecting the User. Sending Mail on Form
Submission. Working with File Uploads. Summary. Workshop.
10. Working with User Sessions.
Session Function Overview. Starting a Session.
Working with Session Variables. Passing Session IDs in the Query String.
Destroying Sessions and Unsetting Variables. Summary. Q&A. Workshop.
11. Working with Files and Directories.
Including Files with include(). Testing Files.
Creating and Deleting Files. Opening a File for Writing, Reading, or Appending.
Reading from Files. Writing or Appending to a File. Working with Directories.
Summary. Q&A. Workshop.
12. Working with the Server Environment.
Opening Pipes to and from Processes Using
popen(). Running Commands with exec(). Running Commands with system() or
passthru(). Summary. Q&A. Workshop.
13. Working with Images.
Understanding the Image-Creation Process.
Necessary Modifications to PHP. Drawing a New Image. Getting Fancy with Pie
Charts. Modifying Existing Images. Summary. Q&A. Workshop.
IV. PHP AND MYSQL INTEGRATION.
14. Learning the Database Design Process.
The Importance of Good Database Design. Types of
Table Relationships. Understanding Normalization. Following the Design Process.
Summary. Q&A. Workshop.
15. Learning Basic SQL Commands.
Learning the MySQL Data Types. Learning the
Table Creation Syntax. Using the INSERT Command. Using the SELECT Command. Using
WHERE in Your Queries. Selecting from Multiple Tables. Using the UPDATE Command
to Modify Records. Using the REPLACE Command. Using the DELETE Command.
Frequently Used String Functions in MySQL. Using Date and Time Functions in
MySQL. Summary. Q&A. Workshop.
16. Interacting with MySQL Using PHP.
Connecting to MySQL with PHP. Working with MySQL
Data. Summary. Workshop.
V. BASIC PROJECTS.
17. Managing a Simple Mailing List.
Developing the Subscription Mechanism.
Developing the Mailing Mechanism. Summary. Q&A. Workshop.
18. Creating an Online Address Book.
Planning and Creating the Database Tables.
Creating a Menu. Creating the Record Addition Mechanism. Viewing Records.
Creating the Record Deletion Mechanism. Adding Subentries to a Record. Summary.
Workshop.
19. Creating a Simple Discussion Forum.
Designing the Database Tables. Creating the
Input Forms and Scripts. Displaying the Topic List. Displaying the Posts in a
Topic. Adding Posts to a Topic. Summary.
20. Creating an Online Storefront.
Planning and Creating the Database Tables.
Displaying Categories of Items. Displaying Items. Summary. Workshop.
21. Creating a Shopping Cart Mechanism.
Planning and Creating the Database Tables.
Integrating the Cart with Your Storefront. Payment Methods and the Checkout
Sequence. Summary. Workshop.
22. Creating a Simple Calendar.
Building a Simple Display Calendar. Creating a
Calendar library. Summary. Q&A. Workshop.
23. Restricting Access to Your Applications.
Authentication Overview. Apache Authentication
Module Functionality. Using Apache for Access Control. Combining Apache Access
Methods. Limiting Access Based on HTTP Methods. Introducing Cookies. Setting a
Cookie with PHP. Restricting Access Based on Cookie Values. Summary. Q&A.
Workshop.
24. Logging and Monitoring Web Server
Activity.
Standard Apache Access Logging. Standard Apache
Error Logging. Managing Apache Logs. Logging Custom Information to a Database.
Summary. Q&A. Workshop.
25. Application Localization.
About Internationalization and Localization.
About Character Sets. Environment Modifications. Creating a Localized Page
Structure. Summary. Q&A. Workshop.
VI. ADMINISTRATION AND FINE TUNING.
26. Apache Performance Tuning and Virtual
Hosting.
Scalability Issues. Load Testing with
ApacheBench. Proactive Performance Tuning. Preventing Abuse. Implementing
Virtual Hosting. Summary. Q&A.
27. Setting Up a Secure Web Server.
The Need for Security. The SSL Protocol.
Obtaining and Installing SSL Tools. Managing Certificates. SSL Configuration.
Summary. Q&A.
28. Optimizing and Tuning MySQL.
Building an Optimized Platform. MySQL Startup
Options. Optimizing Your Table Structure. Optimizing Your Queries. Using the
FLUSH Command. Using the SHOW Command. Summary. Q&A. Workshop.
29. Software Upgrades.
Staying in the Loop. Upgrading MySQL. Upgrading
Apache. Upgrading PHP. Summary. Workshop.
VII. LOOKING TOWARD THE FUTURE.
30. Features and Backward Compatibility of
PHP 5.0.
What's Wrong With PHP 4? The New Object Model.
Additional New Features. So, When Should I Upgrade to PHP 5? Summary. Q&A.
31. Features and Backward Compatibility of
MySQL 4.1.
Using Subqueries. Internationalization
Enhancements. Additional New Functionality. Looking Further Ahead to MySQL 5.0.
Summary. Q&A. Workshop.
VIII. APPENDIX.
Appendix A: Installing MySQL, Apache, and PHP
from the CD-ROM.
Linux/Unix Installation. Windows Installation.
Troubleshooting.
Index.