Running Your New Program
Following the same procedure outlined at the beginning of this chapter, try running this program.
If your program doesn’t display “Hello, World!” in your browser, go through the next section and try to eliminate reasons why the program might not run.
What If It Didn’t Work?
There are quite a few things that could be going wrong, but this section provides a comprehensive list of reasons why your program may not be running. The following is a list of things that might have gone wrong; find the one that describes the behavior of your problem and jump ahead to the appropriate heading.
- A Save As dialog box appears.
- The page comes up, but the PHP code doesn’t appear to have executed.
- The PHP code appears directly in the browser.
- A“404 File Not Found” or a “CGI Error—The specified CGI application misbehaved by not returning a complete set of HTTP headers” message appears.
- A “Parse error” message appears.
A SAVE AS DIALOG BOX APPEARS
If this occurs, PHP is not installed correctly or the file is misnamed. It occurs because the Web server doesn’t recognize the file as a PHP file, but rather as an unknown file type. Since most unknown file types (Zip files, for example) are to be downloaded and not processed, the server is sending the file just as it is to be downloaded by the browser. This surely isn’t the behavior we want.
To fix this, first check to make sure you named your file with a .php extension. If you didn’t, rename it with the Rename command in your FTP client. If you chose to rename the copy on your local hard drive, make sure you transfer the file to the server. Try accessing the page again and see if the problem is solved; if not, repeat the process with .php3, .php4, and .phtml.
It is very possible that none of those will work. In that case, the problem is most likely that your Web server doesn’t have PHP installed or PHP is configured incorrectly. Get in touch with the server administrator to find out if PHP is installed, and, if so, what the correct extension is. If the extension is one that you’ve already tried, explain to the administrators that the extension isn’t working and see if they can help you find out why.
If you are your server administrator, you may need help with checking your configuration; first check the PHP manual (http://www.PHP.net/manual/). If you still have trouble, you may find help on the PHP installation mailing list. Send an email to php-install@lists.php.net including information about your server such as operating system, Web server, and the version of PHP you’re trying to install. The list members will be happy to help.
THE PHP CODE DOESN’T APPEAR TO HAVE EXECUTED
If this is the case, you will see only the parts of the page that were outside of the PHP tags. Specifically, you will see “Hello,” printed on the page, but “World!” will be missing. If you use your browser’s View Source command, you will notice that the PHP code appears in your HTML source just like it did in your editor. This means that the file was returned just like a normal HTML file (without any server-side processing).
Check to make sure that your file is named with an appropriate extension (such as .php); this is the most common reason the PHP code wouldn’t execute.
A “404 FILE NOT FOUND” OR “CGI ERROR” MESSAGE APPEARS
The first of these may seem obvious, but it’s not always so obvious if you use Notepad to create your PHP file. One of the problems with using Notepad is its preference for .txt extensions; even if you give your file a .php extension, Notepad adds a .txt.
When the Web server tries to find the .php file you requested, the file isn’t there because it’s really named .php.txt. In most cases, the server would then return a “404 File Not Found” error, but if PHP is installed as a CGI filter, you might get the latter message about incomplete HTTP headers being returned.
In either case, rename the file to .php and try again.
A “PARSE ERROR” MESSAGE APPEARS
This message, mentioned briefly before, means PHP doesn’t know how to interpret something inside of the PHP tags. This isn’t at all uncommon.
For the example shown previously, it probably means you mistyped something. Go back and check to make sure the files match exactly, line for line. Check to ensure that the same quotes are used (double quotes are not the same as two single quotes).
The parse error will be accompanied by a helpful message explaining exactly why your program isn’t running. Check the line that PHP mentions for possible errors, and then check the lines around it.
For more help with this process, see the section on debugging in Appendix A.