首頁  >  問答  >  主體

如何使用多個xampp,例如xampp php版本5,xampp php版本7,版本8。我也安裝了它,但問題是新的laravel專案npm無法安裝

當我運行 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 並在登入網址之後提供服務時

P粉649990273P粉649990273367 天前747

全部回覆(1)我來回復

  • P粉253800312

    P粉2538003122023-11-09 10:09:07

    當您可以透過單一 xampp 安裝同時使用多個 PHP 版本時,為什麼要在 PHP 版本之間切換?

    透過一次 xampp 安裝,您有 2 個選項:

    1. 僅針對舊專案的目錄執行較舊的 PHP 版本:這在大多數情況下都可以達到目的。您可能有一兩個舊專案打算使用較舊的 PHP 版本運行。只需將 xampp 配置為僅針對這些專案目錄執行較舊的 PHP 版本。

    2. 在xampp 的單獨連接埠上執行較舊的PHP 版本:有時您可能會將舊專案升級到最新的PHP 版本,同時需要在新的PHP 版本和舊的PHP 版本之間來回切換。為此,您可以在不同的連接埠(例如8056)上設定較舊的PHP 版本,這樣當您造訪http://localhost/any_project/ 時,xampp 會執行PHP 7,當您造訪 >http://localhost:8056/any_project/ xampp 執行PHP 5.6。

    3. 在虛擬主機上執行較舊的 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並用記事本開啟。然後取消註解以下行:

    extension_dir = "ext"

    此外,如果 Apache 配置中存在以下行 httpd-xampp.conf

    #
    SetEnv PHPRC "\path\to\xampp\php"

    使用前導#(井號字元)將其註解掉。

    第 3 步:設定 apache

    開啟xampp控制面板,點選apache的設定按鈕,然後點選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版本?

    回覆
    0
  • 取消回覆