- PHP 7 Tutorial
- PHP 7 - Home
- PHP 7 - Introduction
- PHP 7 - Performance
- PHP 7 - Environment Setup
- PHP 7 - Scalar Type Declarations
- PHP 7 - Return Type Declarations
- PHP 7 - Null Coalescing Operator
- PHP 7 - Spaceship Operator
- PHP 7 - Constant Arrays
- PHP 7 - Anonymous Classes
- PHP 7 - Closure::call()
- PHP 7 - Filtered unserialize()
- PHP 7 - IntlChar
- PHP 7 - CSPRNG
- PHP 7 - Expectations
- PHP 7 - use Statement
- PHP 7 - Error Handling
- PHP 7 - Integer Division
- PHP 7 - Session Options
- PHP 7 - Deprecated Features
- PHP 7 - Removed Extensions & SAPIs
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
PHP 7 - Installation on Linux/Unix
If you plan 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 have not 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_2.4.x.tar.gz tar -xvf apache_2.4.x.tar
Build the apache Server as follows
cd apache_2.4.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-7.x.tar.gz tar -xvf php-7.x.tar cd php-7.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-7.x cp php.ini-development /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 extension is 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 the 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 does not 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 the code that follows. In the second line, we have 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.
You will see a long table of information about your new PHP installation message Congratulations!