Я только что собрал 3 разные версии PHP из исходного кода на сервере Ubuntu (наряду с NGINX и MySQL 5.7). Я ищу способ бегать php --ini
для текущей работающей версии. Я знаю, что должен добавить местоположение в файл PATH
в .bashrc
поэтому мне не нужно добавлять полный путь.
Я добавил это в мой .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"."
должен быть в состоянии сделать это с помощью awk.
php -v | awk 'NR<=1{ print $2 }'
напечатать второй столбец из первой строки ввода.