Create a file named
hello.php and put it
in your web server's root directory (
with the following content:
Example 2.1. Our first PHP script:
<?php echo '<p>Hello World</p>'; ?>
Use your browser to access the file with your web server's URL, ending
with the "/hello.php" file reference. When developing locally this
URL will be something like
http://127.0.0.1/hello.php but this depends on the
web server's configuration. If everything is configured correctly, this
file will be parsed by PHP and the following output will be sent to
This program is extremely simple and you really did not need to use
PHP to create a page like this. All it does is display:
Hello World using the PHP echo()
statement. Note that the file does not need to be executable
or special in any way. The server finds out that this file needs to be interpreted
by PHP because you used the ".php" extension, which the server is configured
to pass on to PHP. Think of this as a normal HTML file which happens to have
a set of special tags available to you that do a lot of interesting things.
If you tried this example and it did not output anything, it prompted
for download, or you see the whole file as text, chances are that the
server you are on does not have PHP enabled, or is not configured properly.
Ask your administrator to enable it for you using the
of the manual. If you are developing locally, also read the
installation chapter to make sure everything is configured
properly. Make sure that you access the file via http with the server
providing you the output. If you just call up the file from your file
system, then it will not be parsed by PHP. If the problems persist anyway,
do not hesitate to use one of the many
» PHP support options.
The point of the example is to show the special PHP tag format.
In this example we used
<?php to indicate the
start of a PHP tag. Then we put the PHP statement and left PHP mode by
adding the closing tag,
?>. You may jump in
and out of PHP mode in an HTML file like this anywhere you want. For more
details, read the manual section on the
basic PHP syntax.
A Note on Line Feeds:
Line feeds have little meaning in HTML, however it is still a good idea
to make your HTML look nice and clean by putting line feeds in. A
linefeed that follows immediately after a closing
?> will be removed by PHP. This can be extremely
useful when you are putting in many blocks of PHP or include files
containing PHP that aren't supposed to output anything. At the same time
it can be a bit confusing. You can put a space after the closing
?> to force a space and a line feed to be output,
or you can put an explicit line feed in the last echo/print from within
your PHP block.
A Note on Text Editors:
There are many text editors and Integrated Development Environments (IDEs)
that you can use to create, edit and manage PHP files. A partial list of
these tools is maintained at » PHP Editors
List. If you wish to recommend an editor, please visit the above
page and ask the page maintainer to add the editor to the list. Having
an editor with syntax highlighting can be helpful.
A Note on Word Processors:
Word processors such as StarOffice Writer, Microsoft Word and Abiword are
not optimal for editing PHP files. If you wish to use one for this
test script, you must ensure that you save the file as plain
text or PHP will not be able to read and execute the script.
A Note on Windows Notepad:
If you are writing your PHP scripts using Windows Notepad, you will need
to ensure that your files are saved with the .php extension. (Notepad adds
a .txt extension to files automatically unless you take one of the
following steps to prevent it.) When you save the file and are prompted
to provide a name for the file, place the filename in quotes
hello.php"). Alternatively, you can click on the
'Text Documents' drop-down menu in the 'Save' dialog box and change the setting
to "All Files". You can then enter your filename without quotes.
Now that you have successfully created a working PHP script, it is
time to create the most famous PHP script! Make a call to the
phpinfo() function and you will see a lot of useful
information about your system and setup such as available
loaded PHP modules, and configuration
settings. Take some time and review this important information.
Example 2.2. Get system information from PHP
Your host may not use a folder called 'document_root'. I use gator host and they use 'public_html'. Basically I would advise ignoring this, just upload the php file to where ever you want.
Well, but PHP file ownership is important when server has safe_mode enabled - HTTP server checks it, uses it to set UID of process which executes it, or may even refuse to execute such a file - e.g. if one user is owner of main PHP file, and the main file includes another, owned by other user, this is considered to be security violation (quite reasonably).
Re: .txt extensions at the end of Notepad files
I am not a programmer, but I do know that when you ftp files to a server, not only is the real name of the file shown that you want to transfer, but you can change it to whatever you want on the other end. I know that can make uploading a lot of files a pain, but then, I have never had to upload that many files. I remember a long time ago having to change .htm to .html, but I have never encountered the problem of having a .txt added that I didn't want.
People with file extension woes on Win32 really just need a better text editor. Notepad2 is easy, very like notepad and supports syntax highlighting; quite a neat little thing:
...and it won't mangle your file extensions. Of course there are lots of others, but I use this one at work and it's OK when you have to work on Windows toasters. Of course EMACS is also available on Win32 for those who like that sort of thing but Notepad2 is a neat, minimal, easy to use app for those who are generally comfortable in the Windows environment and might be intimidated by EMACS.
OS X users editing in TextEdit will need to make sure their TextEdit preferences are set to allow plain text files. Under the TextEdit pull-down menu, choose PREFERENCES, then under NEW DOCUMENT ATTRIBUTES in the window that pops up, click PLAIN TEXT.
Then, in the section of that same window called "saving," DESELECT "append .txt extension to plain text files." This will allow you to save your files with a .php extension.
Then close the PREFERENCES window. You're good to go.
On Windows, if file extensions can be hidden, you may not SEE that you have accidently saved a file as 'Text Documents' (and that the browser has added '.txt' to the end of your 'page.html', resulting in 'page.html.txt'.) You still see only 'page.html' even though it's really 'page.html.txt'. Also, if you try to rename it, it won't work because it's not overwriting the '.txt' part and not changing the filetype.
By the way, the hiding of file extensions is ALSO a way malicious crackers get you to click on an executable virus, fooling you into thinking it's an innocent document. You should always be able to view the extensions of all files on your system.
To view all extensions, open Internet Explorer. Click the 'Tools' menu, then 'Folder Options'. In the dialog box that appears, click the 'View' tab. In the 'Advanced Settings Box', scroll down to 'Hide extensions for known file types' and click the checkbox next to it to REMOVE THE CHECKMARK. Click the 'Apply to All Folders' button near the top of the dialog. This may or may not take a few minutes. Then click the 'OK' button to close the dialog.
Now, if something accidentally gets saved as the wrong filetype, resulting in another file extension automatically appended to the one you typed, you will see it and be able to rename it.
Of course, a badly-named file can be renamed simply by using 'Save As' and saving it as the proper filetype, but if you can't see the file extension, you may not know that is the problem. Also, renaming is easier than opening, resaving as a new filetype, and then deleting the old version!
Note on permissions of php files: You don't have to use 'chmod 0755' under UNIX or Linux; the permissions need not be set to executable. Again, this is more like a html file than a cgi script. The only mandatory requirement is that the web server process has read access to the php file(s). With many Linux systems, it is popular for Apache to run under the 'apache' account. Given that HTML and other web files, like php, are often owned by user 'root' and group 'web' (or another similar group name), acceptable permissions might be those achieved with 'chmod 664' or 'chmod 644'. The web server process, running under the 'apache' account, will inherit read only permissions. The 'apache' account is not root and is not a member of the 'web' group, so the "other" portion of the permissions (the last "4") applies.
No need to go through these contortions each time to make sure the file is properly saved with the .php extension. Just register .php as a file type in Windows, and then saving as hello.php without the quotes will work fine.
In the note submitted by HobbyTech on 08-Aug-2006 it is not Internet Explorer but Windows Explorer that you want. In other words, run Start | My Computer instead of Internet Explorer and then carry on as per his remaining instructions.
If you are using the Xampp suggested by Rob on the last page, then you may need to place your file in C:/xampp/htdocs/xampp in order for it to be viewed correctly if you are not working on a server but simply learning from own computer.
I noticed that it mentioned to add a "double quote" i.e "hello.php", when saving a php file when the drop down menu says txt. It is not necessary. You can type the whole name without quotes when the drown down menu is either txt or all. UNLESS, maybe for older windows? But for newer windows, it is not necessary. It works without a double quote. Anyway, if double quote is mentioned in the manual, then window versions needs to be stated.
i having one doubt that i din't understand the concept of php while using in the Microsoft word....can u explain me please.....
Expansion on saving w/ notepad/wordpad: (tested on XP; but should work on 2000,NT, and 98)
You can associate the .php file extension w/ Windows w/o going into the registry.
Open up My Computer or MSIE in file mode. Go to folder options > File types tab. Now click new. Add the extension as PHP or php. If you can't find the PHP application in the dropdown list under advanced, just go OK, for now. At least the extension is in place.
Now, try and create a php file by using the directions from this page of the PHP tutorial (should save it with the rest of your HTML files, i.e. your DocumentRoot). If you go to view your php file listed in the directory, and you see that it's still a .txt file, right-click the icon to see if you can locate "open with." If so, you should be able to browse for the appropriate file, which should be at (may vary, depending on where you installed PHP):
Click that as the default program, and the PHP logo should appear on all your scripts, and no problems saving should occur w/ any program.
document_root variable is located in your web server configuration file