2017-05-30 76 views
1

爲什麼我得到2個不同版本的PHP?獲取2版本的PHP,同時檢查在Ubuntu的PHP版本16

當我通過一個PHP文件檢查:

<?php 
echo 'Current PHP version: ' . phpversion(); 

輸出: 當前PHP版本:7.0.18-1 + deb.sury.org〜xenial + 1

當我通過終端命令我檢查:

[email protected]:~# php -v 

PHP 7.1.4-1+deb.sury.org~xenial+1 (cli) (built: Apr 11 2017 22:12:32) 
(NTS) 
Copyright (c) 1997-2017 The PHP Group 
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies 
with Zend OPcache v7.1.4-1+deb.sury.org~xenial+1, Copyright (c) 1999- 
2017, by Zend Technologies 

php -v給我PHP 7.1.4-1 + DEB。 sury.org〜xenial + 1phpversion()給我7.0.18-1 + deb.sury.org〜xenial + 1

+0

因爲您有兩個不同的版本可用。當你從終端執行'php -v'時,你正在執行命令行PHP二進制文件。它不同於處理網絡請求的那個。它取決於你正在運行的服務器,但'phpversion();'返回處理Web請求的PHP二進制文件的正確PHP版本。由於您使用Sury的repo,請檢查您在/ etc/php目錄中的內容。 –

回答

0

這是因爲您爲PHP安裝了兩個不同的版本。 PHP cli正在挑選最新的一個,而Apache已經設置了php 7.0。

你可以做的是從系統中刪除這兩個PHP版本,然後做了新的再次安裝:

sudo apt-get install ppa-purge 
sudo ppa-purge ppa:ondrej/php-7.0 
sudo apt-get purge php7.* 

,然後從官方安裝最新的PHP 7 Ubuntu的資源庫,像這樣:

sudo apt-get install php libapache2-mod-php php-mcrypt php-mysql 

因爲您使用的是Ubuntu 16,所以新的PHP版本將大於7