當我運行 xampp php 版本 7 時一切都很好,但是當我運行 xampp php 版本 8 但我目前的專案無法工作時,這是我的 laravel 9 xampp php 版本 8 當前專案
當我運行新專案並安裝 npm 安裝&& npm run dev 時出現另一個問題,但它不起作用 npm 安裝 當我執行 npm run dev 時,結果是 npm run dev
當我執行 php artisan migrate 並在登入網址之後提供服務時
透過一次 xampp 安裝,您有 2 個選項:
僅針對舊專案的目錄執行較舊的 PHP 版本:這在大多數情況下都可以達到目的。您可能有一兩個舊專案打算使用較舊的 PHP 版本運行。只需將 xampp 配置為僅針對這些專案目錄執行較舊的 PHP 版本。
在xampp 的單獨連接埠上執行較舊的PHP 版本:有時您可能會將舊專案升級到最新的PHP 版本,同時需要在新的PHP 版本和舊的PHP 版本之間來回切換。為此,您可以在不同的連接埠(例如8056)上設定較舊的PHP 版本,這樣當您造訪http://localhost/any_project/ 時,xampp 會執行PHP 7,當您造訪 >http://localhost:8056/any_project/ xampp 執行PHP 5.6。
http://localhost/any_project/
>http://localhost:8056/any_project/
在虛擬主機上執行較舊的 PHP 版本:您可以建立一個虛擬主機(例如 localhost56)來執行 PHP 5.6,同時您可以在 localhost 上使用 PHP 7。
第 1 步:下載 PHP
所以您在 xampp 下執行 PHP 7,您想要在其中新增較舊的 PHP 版本(例如 PHP 5.6)。從php.net 下載nts(非線程安全)版本的PHP zip 存檔(請參閱舊版本的存檔)並在c:\xampp\php56 下提取文件。線程安全版本不包含php-cgi.exe。
c:\xampp\php56 下提取文件
第 2 步:設定 php.ini
php.ini
在記事本中開啟檔案c:\xampp\php56\php.ini。如果該檔案不存在,請將php.ini-development複製到php.ini並用記事本開啟。然後取消註解以下行:
c:\xampp\php56\php.ini
php.ini-development
extension_dir = "ext"
此外,如果 Apache 配置中存在以下行 httpd-xampp.conf
httpd-xampp.conf
SetEnv PHPRC "\path\to\xampp\php"
使用前導#(井號字元)將其註解掉。
第 3 步:設定 apache
開啟xampp控制面板,點選apache的設定按鈕,然後點選Apache (httpd-xampp.conf)。將會開啟一個文字檔。將以下設定放在檔案底部:
Apache (httpd-xampp.conf)
ScriptAlias /php56 "C:/xampp/php56" Action application/x-httpd-php56-cgi /php56/php-cgi.exe AllowOverride None Options None Require all denied Require all granted
注意: 如果需要,您可以依照步驟 1 到 3 將更多版本的 PHP 加入 xampp 安裝。
第 4 步(選項 1):[新增目錄以執行特定 PHP 版本]
現在您可以設定將在 PHP 5.6 中執行的目錄。只需在設定檔(步驟 3 中的 httpd-xampp.conf)底部新增以下內容即可設定目錄。
SetHandler application/x-httpd-php56-cgi SetHandler application/x-httpd-php56-cgi
第 4 步(選項 2):[在單獨的連接埠上執行較舊的 PHP 版本]
#現在要在連接埠 8056 上設定 PHP v5.6,請將以下程式碼新增至設定檔的底部(第 3 步驟中的 httpd-xampp.conf)。
Listen 8056 SetHandler application/x-httpd-php56-cgi
第 4 步(選項 3): [在虛擬主機上執行較舊的 PHP 版本]
要在目錄 (htdocs56) 上建立虛擬主機 (localhost56) 以在 http://localhost56 上使用 PHP v5.6,請在所需位置建立目錄 htdocs56 並 將 localhost56 新增到您的主機檔案中(檢視操作方法), 然後將以下程式碼加入設定檔的底部(步驟 3 中的 httpd-xampp.conf)。
DocumentRoot "C:\xampp\htdocs56" ServerName localhost56 Require all granted SetHandler application/x-httpd-php56-cgi
完成:儲存並重新啟動 Apache
儲存並關閉設定檔。從 xampp 控制面板重新啟動 apache。如果您選擇選項 2,您可以在 xampp 控制面板中看到列出的附加連接埠 (8056)。
有關更多信息,請查看此線程:有沒有辦法在XAMPP中使用兩個PHP版本?
當您可以透過單一 xampp 安裝同時使用多個 PHP 版本時,為什麼要在 PHP 版本之間切換?
透過一次 xampp 安裝,您有 2 個選項:
僅針對舊專案的目錄執行較舊的 PHP 版本:這在大多數情況下都可以達到目的。您可能有一兩個舊專案打算使用較舊的 PHP 版本運行。只需將 xampp 配置為僅針對這些專案目錄執行較舊的 PHP 版本。
在xampp 的單獨連接埠上執行較舊的PHP 版本:有時您可能會將舊專案升級到最新的PHP 版本,同時需要在新的PHP 版本和舊的PHP 版本之間來回切換。為此,您可以在不同的連接埠(例如8056)上設定較舊的PHP 版本,這樣當您造訪
http://localhost/any_project/
時,xampp 會執行PHP 7,當您造訪>http://localhost:8056/any_project/
xampp 執行PHP 5.6。在虛擬主機上執行較舊的 PHP 版本:您可以建立一個虛擬主機(例如 localhost56)來執行 PHP 5.6,同時您可以在 localhost 上使用 PHP 7。
讓我們進行設定
第 1 步:下載 PHP
所以您在 xampp 下執行 PHP 7,您想要在其中新增較舊的 PHP 版本(例如 PHP 5.6)。從php.net 下載nts(非線程安全)版本的PHP zip 存檔(請參閱舊版本的存檔)並在
c:\xampp\php56 下提取文件
。線程安全版本不包含php-cgi.exe。第 2 步:設定
php.ini
在記事本中開啟檔案
c:\xampp\php56\php.ini
。如果該檔案不存在,請將php.ini-development
複製到php.ini
並用記事本開啟。然後取消註解以下行:此外,如果 Apache 配置中存在以下行
#httpd-xampp.conf
使用前導#(井號字元)將其註解掉。
第 3 步:設定 apache
開啟xampp控制面板,點選apache的設定按鈕,然後點選
Apache (httpd-xampp.conf)
。將會開啟一個文字檔。將以下設定放在檔案底部:注意: 如果需要,您可以依照步驟 1 到 3 將更多版本的 PHP 加入 xampp 安裝。
第 4 步(選項 1):[新增目錄以執行特定 PHP 版本]
現在您可以設定將在 PHP 5.6 中執行的目錄。只需在設定檔(步驟 3 中的
httpd-xampp.conf
)底部新增以下內容即可設定目錄。第 4 步(選項 2):[在單獨的連接埠上執行較舊的 PHP 版本]
#現在要在連接埠 8056 上設定 PHP v5.6,請將以下程式碼新增至設定檔的底部(第 3 步驟中的
httpd-xampp.conf
)。第 4 步(選項 3): [在虛擬主機上執行較舊的 PHP 版本]
#要在目錄 (htdocs56) 上建立虛擬主機 (localhost56) 以在 http://localhost56 上使用 PHP v5.6,請在所需位置建立目錄 htdocs56 並 將 localhost56 新增到您的主機檔案中(檢視操作方法), 然後將以下程式碼加入設定檔的底部(步驟 3 中的
httpd-xampp.conf
)。完成:儲存並重新啟動 Apache
儲存並關閉設定檔。從 xampp 控制面板重新啟動 apache。如果您選擇選項 2,您可以在 xampp 控制面板中看到列出的附加連接埠 (8056)。
有關更多信息,請查看此線程:有沒有辦法在XAMPP中使用兩個PHP版本?