首页  >  问答  >  正文

如何使用多个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粉649990273315 天前646

全部回复(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
  • 取消回复