How PHP pages run

This lesson’s goals

By the end of this lesson, you should:

  • Know that PHP programs run on Web servers.
  • Know that PHP programs can work with database servers.
  • Know that PHP can send email, read and write files, and interact with many other kinds of servers.

Snoutbook revisited

Recall that Snoutbook is Facebook for dogs. It has the tree, equivalent to Facebook’s wall. When Ivan posts to his tree, everyone can see his new entry.

Ivan's tree

Figure 1. Ivan’s tree

If Mazie wants to look at Ivan’s tree, she points her browser at tree.php. tree.php has PHP code embedded into HTML.


Figure 2. tree.php

Here’s what happens when Mazie looks at Ivan’s tree.

Snoutbook's architecture

Figure 3. Snoutbook’s architecture

The browser asks the server for tree.php (1). The Web server – Apache, say – loads the file tree.php from disk into memory (2). The Web server sees that the file’s extension is .php, and sends the file to the PHP interpreter (3).

The PHP interpreter is a program, running on the same computer as Apache. It knows how to follow instructions written in the PHP language. These PHP instructions are written by a person – human, dog, or some other intelligent being.

So the PHP interpreter runs the PHP code in tree.php (4). This code asks the database server for Ivan’s tree postings. The database server returns the data. The PHP code wraps the data in HTML tags, like <p> and <div>.

When it has finished running all the code, the PHP interpreter sends the result back to the Web server (5). The result will be a bunch of HTML, created by the PHP code in tree.php. The server then sends the data to the browser (6).

The browser just gets HTML. It doesn’t know, or care, that it was generated by a program.

So that’s what PHP does. PHP code runs on a server, and generates HTML (usually – it can output other types of data as well).

Other servers

PHP code can work with a database server. But it can do other things as well.

  • PHP can send email. We’ll see this is a later chapter.
  • PHP can save data into files, and read it back later. We’ll do this, too.
  • PHP can interact with Google Maps, Amazon, Facebook, Twitter, Paypal, and lots of other services.

When you can write PHP code, you can do, well, all sorts of things.


PHP programs run on Web servers. They can work with database servers. PHP can also send email, read and write files, and interact with many kinds of other servers.

What now?

Let’s look at the tools you’ll need to make your PHP work easier.