首頁 後端開發 PHP問題 php -v和phpinfo() 輸出的php版本不一致是怎麼回事

php -v和phpinfo() 輸出的php版本不一致是怎麼回事

Aug 15, 2020 am 10:50 AM
php版本

php版本不一致是因為系統自帶的php版本和新安裝的php進階版本同時存在,終端機和phpinfo載入的檔案位置不一致導致的,其解決方案就是將高版本php安裝目錄下的高版本“php-fpm”安裝目錄也加到終端機設定檔。

php -v和phpinfo() 輸出的php版本不一致是怎麼回事

推薦:《PHP影片教學

這個的問題就是系統自帶的php版本和新安裝的php進階版本同時存在,終端機和phpinfo()載入的檔案位置不一致導致。

其中,

nginx服務解析phpinfo()是依賴php-fpm實作的,所以phpinfo()輸出的是php-fpm啟動的版本;

##而終端機執行

php -v是載入終端設定檔中設定的php安裝目錄對應的php版本的;

所以導致兩者php版本不一致主要是

啟動的php-fpm版本和終端機配置的php版本不一致

直接的解決方法就是將高版本php安裝目錄下的高版本php-fpm安裝目錄也加到終端設定文件,讓系統自動載入高版php-fpm即可。

快速解決:

配置~/.bash_profile:

export PATH=/usr/local/Cellar/php@7.2/7.2.23/bin:/usr/local/Cellar/php@7.2/7.2.23/sbin:${PATH}
登入後複製
登入後複製

如果系統使用的是zsh,就在

~/.zshrc檔案最後添加:

source ~/.bash_profile
登入後複製
登入後複製

然後再執行

source ~/.zshrc
登入後複製

使設定生效,並重新啟動php-fpm

sudo killall php-fpm
登入後複製
登入後複製
sudo php-fpm -D
登入後複製
登入後複製

即可

具體過程:

1、查看目前php版本

php -v
登入後複製

得到以下輸出:

PHP 7.2.23 (cli) (built: Oct 10 2019 10:15:26) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.23, Copyright (c) 1999-2018, by Zend Technologies
登入後複製

2、查看php安裝位置

which php
登入後複製

whereis php
登入後複製

得到以下輸出:

/usr/local/Cellar/php@7.2/7.2.23/bin/php
登入後複製

3、查看php-fpm 版本和安裝位置

php-fpm -v
登入後複製

得到以下輸出:

PHP 5.6.30 (fpm-fcgi) (built: Oct 29 2017 20:31:21)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
登入後複製
which php-fpm
登入後複製

得到以下輸出:

/usr/sbin/php-fpm
登入後複製

以上查看一遍後,發現php載入的安裝目錄是新安裝的php進階版本,而php-fpm 還是mac系統自帶的低版本,原因是在系統終端設定檔中配置了新版本php安裝位置,但沒有設定php-fpm的安裝位置,導致啟動php-fpm時自動載入的是系統低版的php-fpm,當php框架依賴高版php時,就會無法運作。

4、設定新版本php-fpm載入目錄

設定

~/.bash_profile

export PATH=/usr/local/Cellar/php@7.2/7.2.23/bin:/usr/local/Cellar/php@7.2/7.2.23/sbin:${PATH}
登入後複製
登入後複製

如果系統使用的是zsh,就在

~/.zshrc檔案最後新增:

source ~/.bash_profile
登入後複製
登入後複製

或直接將上述路徑配置設定在

~/.zshrc檔案中。

然後執行

source ~/.zshrc使設定生效

5、查看目前php-fpm版本

(base)  qingshan@qingshan  ~  php-fpm -v
PHP 7.2.23 (fpm-fcgi) (built: Oct 10 2019 10:15:34)
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.23, Copyright (c) 1999-2018, by Zend Technologies
登入後複製

已經自動載入高版本的php -fpm了。

6、重啟php-fpm

終止後台運行的php-fpm程序

sudo killall php-fpm
登入後複製
登入後複製

啟動php-fpm並後台運行:

sudo php-fpm -D
登入後複製
登入後複製

此時phpinfo輸出的php版本資訊就是最新的7.2版本

以上是php -v和phpinfo() 輸出的php版本不一致是怎麼回事的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

php的版本發展史(1995-2022) php的版本發展史(1995-2022) Jun 01, 2020 pm 01:59 PM

身為一個php學習和開發者,怎麼能不了解其歷史?以下php中文網帶領php愛好者們一起回顧下php各個歷史版本。

寶塔面板教學:PHP版本切換簡易指南 寶塔面板教學:PHP版本切換簡易指南 Mar 05, 2024 am 09:27 AM

寶塔面板是一款功能強大、使用方便的伺服器管理面板,可幫助使用者輕鬆管理網站、資料庫、FTP等服務。在使用寶塔面板的過程中,有時會需要切換PHP版本來適應不同的網站需求。本文將為大家提供一個PHP版本切換的簡易指南,同時提供具體的程式碼範例,以協助讀者快速完成PHP版本切換的操作。首先,我們需要登入寶塔面板,進入網站設定頁面。在左側導覽列找到「網站」選項,並點

寶塔面板操作指南:PHP版本切換技巧分享 寶塔面板操作指南:PHP版本切換技巧分享 Mar 04, 2024 am 10:42 AM

寶塔面板(BTPanel)是一款強大而易用的伺服器管理面板,可協助使用者輕鬆管理伺服器、網站和資料庫等服務。身為網站開發者或管理員,掌握寶塔面板中PHP版本切換的技巧十分重要。在本文中,將分享如何在寶塔面板中操作、切換PHP版本的方法,並提供具體的程式碼範例,幫助讀者更好地掌握這項技能。 1.登入寶塔面板首先,在瀏覽器中輸入伺服器IP位址或域名,加上寶塔

Eclipse中如何更新PHP版本 Eclipse中如何更新PHP版本 Mar 28, 2024 pm 09:54 PM

Eclipse是一款廣泛使用的整合開發環境(IDE),可用於開發各種程式語言的專案。在使用Eclipse開發PHP專案時,有時候需要更新PHP版本以適應新功能或修復bug。本文將介紹如何在Eclipse中更新PHP版本,並提供具體的程式碼範例。一、更新PHP版本的準備工作在更新PHP版本之前,我們需要確保已經安裝了Eclipse以及PHP的開發環境。另外,

了解PHP版本NTS的意思與重要性 了解PHP版本NTS的意思與重要性 Mar 27, 2024 pm 12:15 PM

PHP版本NTS的意義與重要性PHP(HypertextPreprocessor)是一種廣泛使用的開源伺服器端腳本語言,被用來開發動態網頁。 PHP的版本包括NTS(Non-ThreadSafe)和TS(ThreadSafe)兩種。在本文中,我們將重點討論NTS版本的含義和重要性,並提供一些具體的程式碼範例。 NTS版本是指PHP的非線程安全版本,其設計初衷

怎樣處理PHP版本升級帶來的錯誤 怎樣處理PHP版本升級帶來的錯誤 May 11, 2023 am 08:48 AM

在使用PHP開發網站或應用程式時,版本升級是一項必要的工作,因為每個版本都會帶來新的功能和修復已知問題。但是,PHP版本升級也會引入新的錯誤,因為新版本可能不再支援舊版的功能或語法。在本文中,我們將介紹如何處理PHP版本升級所帶來的錯誤,以確保應用程式的正常運作。 1.備份應用程式和伺服器在進行PHP版本升級之前,必須備份應用程式和伺服器。備份應用程式可以在出

PHP函數的版本更新如何影響開發? PHP函數的版本更新如何影響開發? Apr 18, 2024 pm 02:54 PM

PHP函數版本更新的影響:新功能的影響:引入新特性,方便開發複雜任務。修復錯誤的影響:改進函數行為,提高程式碼穩定性。行為變更的影響:最具破壞性,需更新使用函數的程式碼。最佳實務:在測試環境測試更新、檢查互動程式碼、更新受影響依賴項。

PHP7版本新功能及對小程式開發的影響 PHP7版本新功能及對小程式開發的影響 Jul 04, 2023 pm 06:15 PM

PHP7版本新功能及對小程式開發的影響隨著科技的不斷發展,網路產業也日新月異。近年來,小程式成為了行動應用程式開發的熱門話題。同時,PHP7版本的發布也成為了開發者矚目的焦點。本文將探討PHP7版本的新特性,並分析它對小程式開發的影響。一、PHP7版本新特性PHP7版本作為PHP語言的重大更新,帶來了許多新的特性與效能上的提升。以下是幾個重要的新功能:性

See all articles