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

Chr*_*lor 2 php bash grep

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

我已将其添加到 my 中.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"
Run Code Online (Sandbox Code Playgroud)

它有效,但我是一个 bash 新手,我认为他们可能是一种不同的方式来做到这一点。我会正确吗?

a55*_*a55 8

该命令在 PHP 中运行时有效

<?php
    echo PHP_VERSION;
Run Code Online (Sandbox Code Playgroud)

你可以在 bash 中得到它,比如

PHP_VERSION=$(php -r "echo PHP_VERSION;")
Run Code Online (Sandbox Code Playgroud)

这是所有 PHP 预定义常量


dav*_*rey 7

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/
Run Code Online (Sandbox Code Playgroud)

  • 我想他是想扭转局面。如果你使用 `tac` 而不是 `tail -r` 它可以工作。 (4认同)

小智 7

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

# 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"."
Run Code Online (Sandbox Code Playgroud)