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

I have just built 3 different versions of PHP from source on an Ubuntu server (alongside NGINX and MySQL 5.7). I am looking for a way to run php --ini for the currently running version. I know I have to add the location to the file PATH in .bashrc so I don't have to add the full path.

I have added this to my .bashrc which allows me to get the currently running PHP version, which then allows me to run the command:

# 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"

It works, but I am a bash novice and I'm thinking their might be a different way to do it. Would I be correct?

展开翻译

译文

我刚刚在Ubuntu服务器上创建了3个不同版本的PHP(与NGINX和MySQL 5.7一起)。 我正在寻找一种方法来运行当前运行版本的 php --ini </ code>。 我知道我必须将位置添加到 .bashrc </ code>中的 PATH </ code>文件中,所以我不必添加完整路径。</ p>

< p>我已经将它添加到我的 .bashrc </ code>中,它允许我获取当前运行的PHP版本,然后允许我运行命令:</ p>

  #parallels @ ubuntu:〜$ ps aux |  grep php 
#root 6948 0.0 0.2 153724 4620? Ss 16:48 0:00 php-fpm:主进程(/opt/php-7.0.0/etc/php-fpm.conf)
nnPHP_VERSION=$(ps aux | grep -o php - [[:digit :]]。[[:digit:]]。[[:digit:]])
export PATH =“/ bin:/ usr / bin:/ opt / $ PHP_VERSION / bin:/ sbin”
</ code> </ pre>

它有效,但我是一个bash新手,我认为他们可能是一个不同的方式来做到这一点。 我是否正确?</ p>
</ div>

doulian4762
doulian4762 我的PATH中需要/opt/<php-version>/bin所以我可以运行php--ini。如果它不在那里,它说它没有安装并告诉我如何安装它。它是安装的,因为我是从源码构建的。
接近 4 年之前 回复
duanqian8867
duanqian8867 “pro”版本不会依赖于PHP在登录时运行,并且实际上还会检查您的命令是否产生了预期结果,然后将其填入$PATH。
接近 4 年之前 回复

3个回答

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/

展开翻译

译文



  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/

< / DIV>

dousi4900
dousi4900 我认为他试图扭转局面。 如果您使用tac而不是tail -r它可以工作。
9 个月之前 回复
dongshi8359
dongshi8359 Heya,我不遵循尾巴-r所做的,至少在ubuntu 18上它不在手册页中; 我最近看到的是--retry,有什么建议吗?
一年多之前 回复

I got it to work with the following commands:

# 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"."

展开翻译

译文



我使用以下命令:</ p>

 #完整版\  nphp -v | 头-n 1 |  cut -d“” -  f 2 

#Major.Minor version
php -v | 头-n 1 | cut -d“” - f 2 | cut -f1-2 -d“。”
</ code> </ pre>
</ div>

should be able to get it done with awk.

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

print the second column from the first row of input.

展开翻译

译文



应该能够用awk完成它。 </ p>

php -v | awk'NR&lt; = 1 {print $ 2}'</ code> </ p>

从第一行输入中打印第二列。 </ p>
</ div>

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!