我刚刚在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 }'
从输入的第一行打印第二列。