Contributed By Shehrevar Davierwala
1. How to setup PHP environment?
In order to develop and run PHP Web pages three vital components need to be installed on your computer system.
Web Server – PHP will work with virtually all Web Server software, including Microsoft’s Internet Information Server (IIS) but then most often used is freely availble Apache Server. Download Apache for free here: http://httpd.apache.org/download.cgi
Database – PHP will work with virtually all database software, including Oracle and Sybase but most commonly used is freely available MySQL database. Download MySQL for free here: http://www.mysql.com/downloads/index.html
PHP Parser – In order to process PHP script instructions a parser must be installed to generate HTML output that can be sent to the Web Browser. This tutorial will guide you how to install PHP parser on your computer.
2. How to make sure environment is ready for php scripts?
it is important to make sure that you have proper environment setup on your machine to develop your web programs using PHP. Type the following address into your browser’s address box. http://127.0.0.1/info.php
If this displays a page showing your PHP installation related information then it means you have PHP and Webserver installed properly. Otherwise you have to follow given procedure to install PHP on your computer.
3. How to install php on Windows with Apache?
- Download Apache server from www.apache.org/dist/httpd/binaries/win32. You want the current stable release version with the no_src.msi extension. Double-click the installer file to install; C:\Program Files is a common location. The installer will also ask you whether you want to run Apache as a service or from the command line or DOS prompt. We recommend you do not install as a service, as this may cause problems with startup.
- Extract the PHP binary archive using your unzip utility; C:\PHP is a common location.
- Copy some .dll files from your PHP directory to your system directory (usually C:\Windows). You need php5ts.dll for every case. You will also probably need to copy the file corresponding to your Web server module – C:\PHP\Sapi\php5apache.dll. to your Apache modules directory. It’s possible that you will also need others from the dlls subfolder.but start with the two mentioned previously and add more if you need them.
- Copy either php.ini-dist or php.ini-recommended (preferably the latter) to your Windows directory, and rename it php.ini. Open this file in a text editor (for example, Notepad). Edit this file to get configuration directives; At this point, we highly recommend that new users set error reporting to E_ALL on their development machines.
- Tell your Apache server where you want to serve files from and what extension(s) you want to identify PHP files (.php is the standard, but you can use .html, .phtml, or whatever you want). Go to your HTTP configuration files (C:\Program Files\Apache Group\Apache\conf or whatever your path is), and open httpd.conf with a text editor. Search for the word DocumentRoot (which should appear twice) and change both paths to the directory you want to serve files out of. (The default is C:\Program Files\Apache Group\Apache\htdocs.). Add at least one PHP extension directive as shown in the first line of the following code −
LoadModule php5_module modules/php5apache.dll AddType application/x-httpd-php .php .phtml
- You may also need to add the following line −
- Stop and restart the WWW service. Go to the Start menu → Settings → Control Panel → Services. Scroll down the list to IIS Admin Service. Select it and click Stop. After it stops, select World Wide Web Publishing Service and click Start. Stopping and restarting the service from within Internet Service Manager will not suffice. Since this is Windows, you may also wish to reboot.
- Open a text editor. Type: <?php phpinfo(); ?>. Save this file in your Web server’s document root as info.php.
- Start any Web browser and browse the file.you must always use an HTTP request (http://www.testdomain.com/info.php or http://localhost/info.php or http://127.0.0.1/info.php) rather than a filename (/home/httpd/info.php) for the file to be parsed correctly
4. How to install php on Linux?
To install PHP on Linux or any other variant of Unix, then here is the list of prerequisites −
- The PHP source distribution http://www.php.net/downloads.php
- The latest Apache source distribution http://httpd.apache.org/download.cgi
- A working PHP-supported database, if you plan to use one ( For example MySQL, Oracle etc. )
- Any other supported software to which PHP must connect (mail server, BCMath package, JDK, and so forth)
- An ANSI C compiler
- Gnu make utility − you can freely download it at http://www.gnu.org/software/make
Now here are the steps to install Apache and PHP5 on your Linux or Unix machine. If your PHP or Apache versions are different then please take care accordingly.
- If you haven’t already done so, unzip and untar your Apache source distribution. Unless you have a reason to do otherwise, /usr/local is the standard place.
gunzip -c apache_1.3.x.tar.gz tar -xvf apache_1.3.x.tar
- Build the apache Server as follows
cd apache_1.3.x ./configure --prefix=/usr/local/apache --enable-so make make install
- Unzip and untar your PHP source distribution. Unless you have a reason to do otherwise, /usr/local is the standard place.
gunzip -c php-5.x.tar.gz tar -xvf php-5.x.tar cd php-5.x
- Configure and Build your PHP, assuming you are using MySQL database.
./configure --with-apxs=/usr/sbin/apxs \ --with-mysql=/usr/bin/mysql make make install
- Install the php.ini file. Edit this file to get configuration directives −
cd ../../php-5.x cp php.ini-dist /usr/local/lib/php.ini
- Tell your Apache server where you want to serve files from, and what extension(s) you want to identify PHP files A .php is the standard, but you can use .html, .phtml, or whatever you want.
- Go to your HTTP configuration files (/usr/local/apache/conf or whatever your path is)
- Open httpd.conf with a text editor.
- Search for the word DocumentRoot (which should appear twice), and change both paths to the directory you want to serve files out of (in our case, /home/httpd). We recommend a home directory rather than the default /usr/local/apache/htdocs because it is more secure, but it doesn.t have to be in a home directory. You will keep all your PHP files in this directory.
- Add at least one PHP extension directive, as shown in the first line of code that follows. In the second line, we.ve also added a second handler to have all HTML files parsed as PHP.
AddType application/x-httpd-php .php AddType application/x-httpd-php .html
- Restart your server. Every time you change your HTTP configuration or php.ini files, you must stop and start your server again.
cd ../bin ./apachectl start
- Set the document root directory permissions to world-executable. The actual PHP files in the directory need only be world-readable (644). If necessary, replace /home/httpd with your document root below −
chmod 755 /home/httpd/html/php
- Open a text editor. Type: <?php phpinfo(); ?>. Save this file in your Web server’s document root as info.php.
- Start any Web browser and browse the file.you must always use an HTTP request (http://www.testdomain.com/info.php or http://localhost/info.php or http://127.0.0.1/info.php) rather than a filename (/home/httpd/info.php) for the file to be parsed correctly.
5. How to configure php.ini file?
The PHP configuration file, php.ini, is the final and most immediate way to affect PHP’s functionality.
The configuration file is well commented and thorough. Keys are case sensitive, keyword values are not; whitespace, and lines beginning with semicolons are ignored. Booleans can be represented by 1/0, Yes/No, On/Off, or True/False. The default values in php.ini-dist will result in a reasonable PHP installation that can be tweaked later.
Here we are explaining the important settings in php.ini which you may need for your PHP Parser.
short_open_tag = Off
Short open tags look like this: <? ?>. This option must be set to Off if you want to use XML functions.
safe_mode = Off
If this is set to On, you probably compiled PHP with the –enable-safe-mode flag. Safe mode is most relevant to CGI use. See the explanation in the section “CGI compile-time options”. earlier in this chapter.
safe_mode_exec_dir = [DIR]
This option is relevant only if safe mode is on; it can also be set with the –with-exec-dir flag during the Unix build process. PHP in safe mode only executes external binaries out of this directory. The default is /usr/local/bin. This has nothing to do with serving up a normal PHP/HTML Web page.
safe_mode_allowed_env_vars = [PHP_]
This option sets which environment variables users can change in safe mode. The default is only those variables prepended with “PHP_”. If this directive is empty, most variables are alterable.
safe_mode_protected_env_vars = [LD_LIBRARY_PATH]
This option sets which environment variables users can’t change in safe mode, even if safe_mode_allowed_env_vars is set permissively
disable_functions = [function1, function2…]
A welcome addition to PHP4 configuration and one perpetuated in PHP5 is the ability to disable selected functions for security reasons. Previously, this necessitated hand-editing the C code from which PHP was made. Filesystem, system, and network functions should probably be the first to go because allowing the capability to write files and alter the system over HTTP is never such a safe idea.
max_execution_time = 30
The function set_time_limit() won.t work in safe mode, so this is the main way to make a script time out in safe mode. In Windows, you have to abort based on maximum memory consumed rather than time. You can also use the Apache timeout setting to timeout if you use Apache, but that will apply to non-PHP files on the site too.
6. Where to write php script?
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 Editor’s List [http://phpeditors.dancinghippo.com/]. 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 good choices 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 (i.e. “hello.php”). Alternately, you can click on the ‘Text Documents’ dropdown menu in the save dialog box and change the setting to “All Files”. You can then enter your filename without