極其常見的情況是,在服務(wù)器上安裝了多個(gè)版本的 PHP??赡苁且?yàn)槟阈枰碌揭粋€(gè)新版本,但不想影響到現(xiàn)有的所有網(wǎng)站?;蛘吣阏谶w移一個(gè)網(wǎng)站到新的服務(wù)器,需要查找PHP的位置。
在Linux系統(tǒng)上,可以使用“which”命令來查找當(dāng)前正在使用的PHP版本目錄:
which php
執(zhí)行以上命令后,會(huì)顯示出你所使用的PHP的安裝目錄。
例如:
/usr/bin/php
有時(shí)候,可能在同一臺(tái)服務(wù)器上會(huì)安裝多個(gè)版本的 PHP。因此,通過 which 命令無法查找到你需要的PHP。這時(shí)候,可以使用在命令行中執(zhí)行 “php -v” 來查找PHP的版本:
php -v
執(zhí)行命令后,會(huì)顯示出PHP的版本以及安裝位置。例如:
PHP 7.2.19-0ubuntu0.18.04.2 (cli) (built: Aug 12 2019 19:34:28) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
在LAMP或LEMP服務(wù)器上,在主機(jī)上托管的網(wǎng)站都位于/var/www目錄下。在此目錄中,有具體的文件夾來存放一個(gè)或多個(gè)網(wǎng)站。因此,通過進(jìn)入到此目錄并且執(zhí)行 ls 命令,查找web目錄以獲取PHP安裝目錄:
cd /var/www ls -alh
在查找到網(wǎng)站代碼的目錄后,進(jìn)入到該目錄并執(zhí)行 “l(fā)s -alh” 命令來查找二進(jìn)制文件(例如PHP)。此時(shí),需要使用管道符號(hào)將“grep” 命令與“l(fā)s”命令結(jié)合起來查找:
cd /var/www/html/example.com ls -alh | grep php
執(zhí)行方法查找出的結(jié)果可能會(huì)像下面這樣:
-rwxr-xr-x 1 root www-data 37K Aug 12 2019 php7.2-cgi -rwxr-xr-x 1 root www-data 37K Aug 12 2019 php -rwxr-xr-x 1 root www-data 37K Aug 12 2019 php-cgi
有時(shí)候,在服務(wù)器上安裝 PHP 后,它所在的二進(jìn)制文件不會(huì)像上面示例那樣命名為“php”或“php-cgi”。因此,可以通過“find”命令來查找二進(jìn)制文件:
find / -name php -type f 2>/dev/null
執(zhí)行該命令時(shí),必須使用 root 權(quán)限,否則訪問會(huì)被拒絕。執(zhí)行該命令時(shí),需要忽略錯(cuò)誤,不讓由于權(quán)限的問題造成大量的錯(cuò)誤信息。如果能找到PHP,它會(huì)顯示路徑的列表。
綜上,我們可以在Linux系統(tǒng)中找到PHP的安裝目錄,輕松地管理多個(gè)版本。這對(duì)我們平時(shí)的開發(fā)調(diào)試以及服務(wù)器的管理都有很大的幫助作用。