Bash 脚本获取 php 版本
Posted
技术标签:
【中文标题】Bash 脚本获取 php 版本【英文标题】:Bash script to get php version 【发布时间】:2019-12-04 21:10:13 【问题描述】:我想在 php.ini 路径中获取 php 的当前数值。我知道 php -v 为我提供了很多信息,但我只需要“7.2”或来自 php.ini 路径的任何当前版本。
编辑:我正在构建一个自动化脚本,如果版本发生变化,我需要能够知道我运行 apt-get install php
时安装了什么
这个脚本让我知道了我关心的那一行:
php --ini | grep Loaded | cut -d' ' -f12
结果(截至今天)是
/etc/php/7.2/cli/php.ini
假设/etc/php
不会改变(根据使用apt-get 安装php 位置的历史,这不太可能),以bash 方式回显"7.2"
的最佳方法是什么?
我对不涉及 php --ini 的其他方法持开放态度,我只需要 7.2(或任何该路径值可能变成的)。
【问题讨论】:
使用php --version
有什么问题?
我只需要 php_dev=php$php_version-dev, apt-get -y install $php_dev
中的 7.2。我正在构建一个自动化脚本,如果版本发生变化,我需要能够知道运行 apt-get install php
时安装了什么
您必须小心,因为 CLI 和 Web 版本可能不同。不确定这是否会影响您的情况,但可能很重要。
【参考方案1】:
如果您使用 apt 构建自动化,那么您应该依靠 apt 和/或 dpkg 来获取相关信息。
dpkg -l 'php*' | grep ^ii
为了完成,yum/dnf/rpm:
rpm -qa 'php*'
【讨论】:
【参考方案2】:这种方式使用CLI
php -r "echo substr(phpversion(),0,3);"
或
php -r "echo implode('.', array_slice(explode('.', PHP_VERSION),0,2));"
【讨论】:
【参考方案3】:一问,我意识到我可以调整分隔符并查找第 4 项。
php --ini | grep Loaded | cut -d'/' -f4
【讨论】:
以上是关于Bash 脚本获取 php 版本的主要内容,如果未能解决你的问题,请参考以下文章