106

I'm running Centos 5 and I need to know what version of PHP I'm running, is there a command for this which I can run?

4 Answers 4

184

Try running the following at the command line.

To just get the version information:

php -v

Or to get a lot of info:

php -i

It should give you all information you need about the php install.

5
  • 17
    +1 php -v was a lot faster
    – hyperslug
    Aug 24, 2009 at 9:10
  • 5
    Thx, this worked :-) php -i | grep 'PHP Version' gave me the answer
    – Elitmiar
    Aug 24, 2009 at 9:12
  • 4
    Just be cautious that the CLI version of PHP (checked from command line) can be different from the one served by your webserver (shown by phpinfo()) Jun 4, 2014 at 11:14
  • @AkshayRaje Exactly. Most people who ask “What PHP version am I using?” are usually referring to the Apache/Nginx PHP module and not the PHP CLI stuff. The PHP CLI info has 100% nothing to do with the PHP module used by Apache/Nginx. Feb 23, 2016 at 12:06
  • And php-cli maybe not installed in the system
    – Furkat U.
    Mar 6, 2017 at 7:02
19

You can make an index.php file with

<?php phpinfo() ?>
5
  • 7
    this has the advantage of working on servers you don't have ssh access to, though personally I've always preferred <?php ?>, just for the futureproofing :P
    – Phoshi
    Aug 24, 2009 at 10:56
  • Ah, right, I have a habit of using ASP tags.
    – hyperslug
    Aug 24, 2009 at 21:26
  • 2
    On any PHP website one can often see the version in the X-Powered-By header in each PHP generated HTTP response. When you don't have SSH access, then sometimes phpshell.sourceforge.net can be used. (Though with much care, like one needs to check if a folder is writable before running a tar command.)
    – Arjan
    Sep 14, 2009 at 16:21
  • First, this is the answer. Most people who ask “What PHP version am I using?” are usually referring to the Apache/Nginx PHP module and not the PHP CLI stuff. The PHP CLI info has 100% nothing to do with the PHP module used by Apache/Nginx. But @Arjan also, many systems administrators disable the “X-Powered-By” header servers send out as part of security hardening. While it seems convenient for developers, headers like that put you on the “sucker list” for botnet attacks. If you run a server and the main way you are determining PHP version is via “X-Powered-By” your process is very flawed. Feb 23, 2016 at 12:06
  • this should be the correct answer
    – Nico
    Dec 21, 2016 at 10:22
12

An answer was accepted, but another option on RPM systems (RHEL, Centos, Fedora, etc.) is to use the following:

rpm -q php

And while I'm at it, the general method for using RPM to find info on a package for any rpm-installed program or file is similar to this (for awk):

  1. Find the full path to the file if not known, such as for an executable in $PATH:

    type -path awk

  2. Find the name, including version, of the package containing the file:

    rpm -qf /usr/bin/awk

  3. If desired, query for info from that package:

    rpm -qi gawk

It's a bit trickier for packages installed and used by Apache since they may not be on $PATH, but you can start with something like:

rpm -qa | egrep -i 'php|awk'

3

Use

more /etc/php.ini

This will show you:

  1. Apache Version
  2. PHP Versions
  3. PHP Functions
  4. Various options regarding PHP

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.