当我运行 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版本?