获取当前运行版本的PHP版本


Getting PHP Version for Currently Running Version

我刚刚在Ubuntu服务器上从源代码构建了3个不同版本的PHP(与NGINX和MySQL 5.7一起)。我正在寻找一种方法来为当前运行的版本运行php --ini。我知道我必须在.bashrc中将位置添加到文件PATH,这样我就不必添加完整路径。

我已经将其添加到我的.bashrc中,它允许我获得当前运行的PHP版本,然后允许我运行命令:

# parallels@ubuntu:~$ ps aux | grep php
# root      6948  0.0  0.2 153724  4620 ?        Ss   16:48   0:00 php-fpm: master process (/opt/php-7.0.0/etc/php-fpm.conf)
PHP_VERSION=$(ps aux | grep -o php-[[:digit:]].[[:digit:]].[[:digit:]])
export PATH="/bin:/usr/bin:/opt/$PHP_VERSION/bin:/sbin"

这是有效的,但我是一个bash新手,我认为他们可能是一种不同的方法。我是对的吗?

PHP_VERSION=$(php -v | tail -r | tail -n 1 | cut -d " " -f 2 | cut -c 1-3)
cd /usr/local/etc/php/$PHP_VERSION/
# cd /usr/local/etc/php/7.1/

我让它可以使用以下命令:

# Full version
php -v | head -n 1 | cut -d " " -f 2
# Major.Minor version
php -v | head -n 1 | cut -d " " -f 2 | cut -f1-2 -d"."

此命令在PHP 中运行时有效

<?php
    echo PHP_VERSION;

你可以在bash中获得它,就像一样

PHP_VERSION=$(php -r "echo PHP_VERSION;")

以下是所有PHP预定义常量

应该能够用awk完成它。

php -v | awk 'NR<=1{ print $2 }'

从输入的第一行打印第二列。