An easy and quick way to find out what php
version your apache server is using is to use the phpinfo()
function. To do this we will create a file with <?php phpinfo() ?>
in it and access it through our server by opening it in a browser.
Deciding Where to Put the PHP File
On CentOS 6
the default directory for html documents is /var/www/html/
. Let’s go to that directory:
[ahmed@amayem /]$ cd /var/www/html/
Or if you want to go to a custom directory you may do that but we will have to change some apache configuration to point it to that directory.
Make a PHP file
[ahmed@amayem html]$ sudo "<?php phpinfo() ?>" > test.php
-bash: test.php: Permission denied
Looks like even sudo isn’t working here, we will have to change to root:
[ahmed@amayem html]$ su
Password:
[root@amayem html]# sudo echo '<?php phpinfo() ?>' > info.php
Now we need to give the file the proper rights. Let’s check what other files are there and copy that:
[root@amayem html]# ls -l in*
-rwxr-xr-x 1 root root 2175 Nov 13 2013 index.html
-rw-r--r-- 1 root root 19 Aug 29 17:59 info.php
So we need to add the execute rights:
[root@amayem html]# ls -l in*
-rwxr-xr-x 1 root root 2175 Nov 13 2013 index.html
-rwxr-xr-x 1 root root 19 Aug 29 17:59 info.php
That looks good.
Point Apache to the Directory that Contains the PHP File (if not using the default html directory)
If you decide not to use the default directory then we will have to adjust the Apache config. Go to the Apache config file. In CentOS 6 it is found here /etc/httpd/conf/httpd.conf
. Let’s go there and access it:
[root@amayem html]# cd /etc/httpd/conf/
[root@amayem conf]# vi httpd.conf
Go to the bottom of the file by entering G
. If NameVirtualHost *:80
is commented then uncomment it (remove the #
at the beginning of the line). Paste (copy and paste in vi here) the following at the end while replacing the values to what your values would be.
<VirtualHost *:80>
ServerName info.amayem.com
ServerAlias www.info.amayem.com
DocumentRoot /var/www/html
</VirtualHost>
Exit insert mode qith Esc
or ctrl+c
and save by entering :x
. Now Apache needs to be restarted to get this new configuration.
[root@amayem conf]# apachectl restart
Now time to serve the new page.
Opening the file from a browser
Open a browser and go to your serverName/info.php
, for example for me according to the setup above it would be info.amayem.com/info.php
. Here is what it would look like:
Getting Plain Text ‘‘
If you get a white page with the plain text <?php phpinfo() ?>
at the top then you probably don’t have php installed or if it is installed then it is not enabled, in which case check the following: