我刚刚在 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 新手,我认为他们可能是一种不同的方式来做到这一点。我会正确吗?
该命令在 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_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)
小智 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)