在 XAMPP for Windows 中升级 PHP?

Posted

技术标签:

【中文标题】在 XAMPP for Windows 中升级 PHP?【英文标题】:Upgrading PHP in XAMPP for Windows? 【发布时间】:2011-01-10 10:01:34 【问题描述】:

我想知道您如何在 Xampp for Windows 中升级 php?我试图从 PHP 主站点下载最新的 PHP 版本,但是当我检查 (phpinfo) 时,我仍然发现以前的版本仍在使用中。

【问题讨论】:

关注this 的帖子。它对我有用。 【参考方案1】:

我认为您需要实际下载并安装具有所需 PHP 版本的 XAMPP。我不认为你可以单独升级 XAMPP 的组件,除非 XAMPP 本身为此提供了一个工具。

【讨论】:

XAMPP 没有当前的 PHP 版本,所以全新安装是没有用的 你可以升级XAMPP的组件,在here查看我的回答【参考方案2】:

备份您的 htdocs 和 data 文件夹(mysql 文件夹的子文件夹),重新安装升级版本并替换这些文件夹。

注意: 如果您更改了配置文件,如 PHP (php.ini)、Apache (httpd.conf) 或任何其他文件,请同时备份这些文件并用新安装的版本替换它们。

【讨论】:

我将当前位于 C:\XAMPP 的 XAMPP 重命名为 C:\XAMPP ORIG,以便我可以在 C:\XAMPP 安装最新版本的 XAMPP,但仍保留应用程序的数据和原始版本以防万一事情发生了。安装最新的 XAMPP 并看到它“覆盖”了我的 XAMPP ORIG - 在我的 C: 驱动器上,只有 C:\XAMPP - 但当我的 htdocs 和 mysql\data 处于新的更新版本时,我感到很害怕XAMPP 的。 我以前一直这样,但是备份数据文件夹中的一些数据库放在新安装的xampp文件夹中时崩溃了。所以,我一直在寻找升级 PHP 而不升级 apache。 @whitelettersandblankspaces 你是 xampp 用户吗?我认为对于使用 xampp 的任何人来说都是非常清楚的......不过,我的赞成票还是投给了 Dharmang,他更早且更准确地回答了,如果我想坚持使用相同版本的 Apache 和 MySql 并只更新 PHP,该怎么办?这个懒惰(但清晰)的答案并没有涵盖这一点 请注意,此答案仅描述了保存 Web 和 MySQL 数据。它不包括对 PHP (php.ini) Apache (httpd.conf 和其他) 等的配置更改。 这是升级 Xampp,而不是升级具有相同 Xampp 的 PHP。【参考方案3】:

有较新的 Xampp Beta 版本附带较新的 PHP 升级。

你应该检查http://www.apachefriends.org

【讨论】:

【参考方案4】:

您可以浏览以下链接,因为它对我有帮助,也应该对您有用。 http://hype-free.blogspot.com/2007/07/updating-php-in-xampp-for-windows.html

意识到我的回答帮助了几个用户,这里是原始链接的编辑:

编辑:

首先始终备份您的数据。

    下载最新的 PHP 二进制版本(确保获取 .zip 包而不是安装程序) 将其解压缩到目录 覆盖 XAMPP 安装目录的 php 子文件夹中目录的内容。 用较新的版本覆盖目录 apache\bin 的内容。 现在的诀窍:获取名称中包含“_2”的文件(例如 php5apache2_2.dll 或 php5apache2_2_filter.dll),将它们复制到 apache\bin 子目录中并删除“_2”部分,覆盖现有文件。这是必要的,因为 XAMPP 使用 Apache 版本 2.2,并且带有 2 前缀的文件是为 Apache 2.0 构建的,因此您必须为较新版本(具有不同的插件接口)构建文件并以 XAMPP 期望的文件名重命名它们.

注意:XAMPP 安装中有两个目录需要更新新版本的文件,即php 子目录和apache/bin 子目录。

【讨论】:

不需要第 4 步。完成其余工作后,我还从备份文件夹中复制了 php.ini 和 php/extras。 (文章的cmets中也提到过,对我也有帮助) @Dharmang:不幸的是,我做了 shift+delete 我所有的 xampp,php apache 文件夹....为了尝试安装最新版本的 php。现在我很困惑,如何开始?..你能帮帮我吗? 现在安装最新版本,但是你的数据(比如www目录)已经被破坏了,你可以试试一些恢复软件。 @Dharmang,感谢您的帖子。你能告诉我你在第 5 步中提到的文件在哪里, 以及我什么时候需要替换它们在覆盖内容之前或之后(如第 3,4 步中所述)我> 您需要从xampp网站下载您感兴趣的PHP版本。【参考方案5】:

http://www.apachefriends.org/en/xampp-windows.html

在这个网站你可以得到

XAMPP 插件

通过使用此插件,您可以升级最新版本。

【讨论】:

我从此链接下载的所有压缩文件夹/安装可执行文件要么是空的,要么已损坏!请帮忙?【参考方案6】:

从http://windows.php.net/download/ 网站下载所需版本的 php 二进制文件。下载 Thread Safe 二进制 zip 版本。 将下载的 PHP 版本解压缩到一个单独的文件夹中。 请确保您的新 php 文件夹名称不是“PHP”。可能您可以使用文件名作为版本名称。例如对于 php 5.4,您可以使用 php54。

将新的 php 文件夹复制到您的 xampp 文件夹中。现在转到您的 xampp/apache/conf/extra 文件夹。从额外的文件夹中打开文件 httpd-xampp.conf。更改以下变量:

变量 PHPINIDir 为 / 变量 LoadModule 为 //php5apache2_2.dl

保存文件 httpd-xampp.conf。重新启动您的 XAMPP apache 服务器。如果您的服务器成功重新启动,那么您的服务器 php 版本将升级。

【讨论】:

【参考方案7】:

我还没有足够的声誉来发表评论,但是,补充一下 ssharma 的回答:

将 htdocs 文件夹复制到安全位置后,只需从 PHPmyadmin 导出数据库即可。只需转到您的每个数据库,然后单击顶部的导出选项卡。将它们导出为 sql(或其他任何东西,真的 - 只需记住您选择的内容)。升级您的 XAMPP 安装。现在,在新版本的 XAMPP 中,创建要重新插入的数据库。示例:您有一个从旧安装导出的名为“test”的数据库,将新的空数据库命名为相同的名称。现在,进入“测试”并点击顶部的导入按钮(在导出按钮旁边)。点击选择文件,找到之前导出的sql文件(应该是'test.sql')并导入。您的表格和数据将就位。

注意:有一个选项可以导出整个数据库集合(它将文件命名为 127.0.0.1.sql)。但是,我从来没有运气好让它正确导入。分别执行每个数据库以确保其正常工作。我写这篇文章有点啰嗦,但那是因为我喜欢为那些还不知道自己在做什么的人写作(我,我自己,不久前还在那里(我们所有人都在观点))。

我的答案的简写: 1) 单独导出数据库 2) 导入新安装的 XAMPP

【讨论】:

【参考方案8】:

1) 从官方网站下载新的 PHP(最好是一些 zip)。旧的php 目录重命名为php_old 并再次创建php 目录并将解压缩的文件放在那里。

php.ini 中,如果您使用了默认关闭的东西(如 Memcached 等),请连接所需的模块,但不要忘记添加相应的.dll 文件。

2) 就我而言,我必须更新 Apache。所以重复相同的步骤:下载新包,重命名目录,创建新的apache 目录并放置新文件。

现在您可以尝试从 xampp 文件夹重新启动运行 apache_start.bat 的 apache(最好运行此 bat,而不是从 Windows 服务窗口重新启动 apache 服务,因为在这种情况下,在控制台中您会看到所有错误,如果有一些,包括配置中你会遇到问题的行)。如果您更新了 Apache 并运行此文件,您将在服务列表中看到 Apache2.2,但在描述中您可以获得另一个版本(在我的例子中是 Apache/2.4.7)。

如果是 Apache 更新,您可能会遇到一些问题,请注意:

替换整个目录后,您可能需要配置apache/conf/httpd.conf文件(从旧配置复制虚拟主机,设置DocumentRoots,目录权限,所有路径,扩展索引文件列表(通过默认apache只有index.html,所以其他索引文件将被忽略,Apache只会在浏览器中列出站点根目录),配置你的日志等)

连接您需要的模块(如果您使用了默认未启用的功能,例如 mod_rewrite 等)

【讨论】:

【参考方案9】:

XAMPP中升级PHP的最简单方法:

    下载最新的便携版XAMPP。 解压存档(不是XAMPP 已经安装的位置)。 从解压缩的存档中复制PHP 文件夹。 备份PHP 文件夹,该文件夹位于已安装的XAMPP 目录中。您可以像将 PHP 文件夹名称更改为 PHP-old 或 喜欢PHP-version-number 粘贴您从解压缩的存档中复制的PHP 文件夹。 用您的备份文件夹php.ini 文件替换php.ini 文件,以防您之前更改了默认设置。 就是这样,启动/重启server

【讨论】:

@dlofrodloh 在这里您可以找到所有 XAMPP sourceforge.net/projects/xampp/files 文件。 2018 年更新:我尝试将 7.0.27 更新到 7.2.7 并且工作得很好。重新安装整个 xampp 的最大优势是保持所有设置(除了那个 php.ini)。谢谢你 @VikasKhunteta 我知道这纯粹是为了升级 PHP,但在现实世界中,您通常也需要考虑 DB,看到您的东西不再工作可能是一个粗鲁的觉醒。我尝试了几个解决方案,到目前为止对我不起作用,所以我离开了像 XAMPP 这样的完整环境。 @AdheneManx 我遇到了同样的问题,您的 PHPMyAdmin 建议效果很好。我还想指出,我的 PHP 版本安装为 x86,因此 x64 版本不起作用。需要下载正确的便携版Xampp x86 sourceforge.net/projects/xampp/files/XAMPP%20Windows/7.3.2 - 你可以用phpinfo()检查你是否安装了x86或x64 点赞!在更新到 php 7.4 时仍然有效,但您还需要对 phpMyAdmin 执行完全相同的过程,因为升级后它可以工作,但会出现大量弃用通知。【参考方案10】:

我需要将我的 php 从 5.3.8 更新到 5.3.29。在 Windows

上(都是线程安全的)

我做的步骤:

    备份我的初始 php 文件夹,在 xampp 下。 从这里下载 zip http://windows.php.net/download/#php-5.3-ts-VC9-x86 将压缩包解压到 xampp 文件夹中。 将旧php文件夹中的php.ini文件复制到新文件夹中。 复制了几个我在新的 php 文件夹中没有的文件夹, 从旧的。例如:extras,其中包含 browscap.ini 文件 (这个是必须的) 将所需的扩展从旧的 php ext 文件夹复制到新的 php ext 文件夹。我通过检查 php.ini 文件中的扩展名列表手动复制了它们。 还复制了以下文件:php5apache2_2.dll、php5ts.dll

希望我涵盖了所有内容。

如果您更改 php 的主要版本,这些步骤很可能将不起作用,例如5.3.x 到 5.4.x,但对于次要版本,它应该可以工作。

另外,查看问题的好方法...启动命令行并尝试在 xampp/apache/bin 下启动 httpd.exe,它会列出找到的错误。

【讨论】:

去php7不行,但是从5.5到5.6效果不错!【参考方案11】:

我刚刚将使用 PHP 5.3.X(包括 Mercury & FileZilla 和 Tomcat)的旧 XAMPP 便携版升级到使用 PHP 5.6.X 便携版的 XAMPP(包括以前的版本)... 我的方式:

    先下载最后一个xampp便携(我的使用版本:xampp-portable-win32-5.6.14-3-VC11Direct Download Link)Last XAMPP 解压新的下载文件到d盘,因为新版本没有merge,filezilla,tomcat,所以我把这些包从旧版本复制到新版本 现在在旧 xampp 上首先将所有 htdocs 文件复制到新 xampp htdocs 现在在旧的 xampp 上备份 5 个两个 10 个单独的 sql 文件中的所有数据库 现在在新的 xampp 上更改一些设置,例如 php.ini 和 /apache/conf/extra/httpd-xampp.conf 上的 max_upload_size 等 现在删除(制作rar存档并删除)它,并将新xampp从驱动器D复制到驱动器C 现在启动新的 xampp,进入 phpmyadmin,创建一个我在之前的 xampp 中使用的用户和密码,并添加该用户的所有权限。 现在将在 phpmyadmin 上导入选项卡并单独导入 sql 文件。 现在我用驱动器 C 中的所有新功能测试 xampp

注意 在 phpmyadmin 上的导出数据库选项卡上,选择 UTF-8 字符并选中 Disable foreign key checks 复选框 并在导入选项卡上取消选中 Enable foreign key checks

【讨论】:

【参考方案12】:

1) 备份您的 htdocs 文件夹 2)导出你的数据库(按照this教程) 3) 卸载 xampp 4) 安装新版xampp 5) 替换已备份的 htdocs 文件夹 6) 导入您之前导出的数据库

注意:如果您更改了 PHP (php.ini)、Apache (httpd.conf) 等配置文件,请同时备份这些文件并替换为新安装的版本。

【讨论】:

【参考方案13】:
    转到phpinfo(),按ctrl+f,然后输入thread查看值。 如果启用则下载非线程安全版本,否则从here (zip) 下载线程安全版本。 解压,并将文件夹重命名为php。 转到您的 xampp 文件夹,将默认的 php 文件夹重命名为其他名称。 将解压后的(重命名为php)文件夹复制到xampp目录中。 从默认/旧 php 文件夹(您重命名的文件夹)复制 php.ini 文件并将其粘贴到新的 php 文件夹中。 重新启动 xampp 服务器,一切顺利。

【讨论】:

需要更多解释 phpinfo() 是什么以及在哪里可以找到它。【参考方案14】:

对于 Xampp 中的升级 php,您可以按照以下步骤操作,否则您可以跳过这 4 个步骤并直接从 site 安装 MAMP(也适用于 Windows),这里是 direct download link

第 1 步: 进行备份 在开始之前,请确保备份所有设置、自定义模块以及最重要的 htdocs 目录,其中包含您的脚本和页面资源。该目录通常位于C:\xampp\htdocs\

第 2 步:准备工作

下载 PHP 5.3.0rc2。我使用 VC6 构建以尽量减少任何潜在的兼容性问题。 还建议您下载最新的 Windows 版本的 XAMPP。虽然这是一份适用于 XAMPP 以前版本的升级指南,但建议使用核心文件的新副本。 停止任何可能正在运行的 Apache 服务实例。

第 3 步: 升级 本指南假定您的 XAMPP 目录是 C:\xampp\

将 XAMPP 存档解压缩到您选择的目录,我建议使用默认的 C:\xampp\ 将 PHP 存档的内容提取到 C:\xampp\php\,用新文件覆盖该目录的内容。 打开文件 C:\xampp\apache\conf\extra\httpd-xampp.conf 并确保以下行按此顺序出现:

LoadFile "/xampp/php/php5ts.dll"
LoadModule php5_module "/xampp/apache/bin/php5apache2_2.dll"

Replace C:\xampp\php\php.ini with C:\xampp\php\php.ini-dist
Uncomment the lines:

;extension=php_mbstring.dll
;extension=php_pdo_sqlite.dll

Replace the line

magic_quotes_gpc = On

with

magic_quotes_gpc = Off

将C:\xampp\php\中的所有文件复制到C:\xampp\apache\bin\(不要 复制子目录或其内容)。

完成上述步骤后,重新启动 Apache 服务(可以使用 C:\xampp\xampp-control.exe 或通过控制面板/命令提示符手动完成)。您的 PHPinfo 应该表明升级已成功。 如果我发现使用此方法或执行升级的更清洁(自动)方法有任何问题,我会更新这篇文章。

【讨论】:

【参考方案15】:

我已经从 php5.6

升级到 php7.2

我遵循的步骤。

    从here 下载 PHP 二进制文件。我已经下载了 VC15 x86 Thread Safe Zip 文件。 创建了 xampp/php 文件夹的备份。 将zip文件的所有内容解压到xampp/php文件夹。 已复制 php.ini(因为我之前已经修改过,我想要恢复我的配置,如果您使用默认配置,请跳过此步骤。) 编辑以下文件

C:\xampp\apache\conf\extra\http-xampp.conf

5.1。替换

加载文件“C:/xampp/php/php5ts.dll”

加载文件“C:/xampp/php/libpq.dll”

LoadModule php5_module "C:/xampp/php/php5apache2_4.dll"

加载文件“C:/xampp/php/php7ts.dll”

加载文件“C:/xampp/php/libpq.dll”

LoadModule php7_module "C:/xampp/php/php7apache2_4.dll"

    重启 Apache

【讨论】:

不是完美的解决方案:PHP 警告:PHP 启动:无法加载动态库 'php_mysql.dll'(试过:C:\xampp\php\ext\php_mysql.dll ... 尝试下载确切的版本。就我而言,它是 VC15 x86 线程安全 @Harry - 请将其修改为 php7_mysql.dll(或任何适用的)。问题是升级 php 模块而不是其他库。【参考方案16】:

要在 xampp 中更新最新的 PHP 版本而不丢失您的 htdocs 数据,您需要从 sourceforge.net 下载所需 PHP 版本的 zip 文件,然后从提取的文件中复制 PHP 文件夹并将其粘贴到您的 xampp 文件夹中.

注意:不要忘记重命名已经存在的旧 PHP 文件夹。

然后只需使用当前路径编辑您的 php.ini 文件即可到达正确的 PHP 文件夹

之后,您需要重新运行 xampp。

我在 youtube 上找到了一个可以帮助您的视频。 how to update php version in xampp

【讨论】:

【参考方案17】:

注意

为了在升级后运行 apache 服务器 PHP 7.4.x 需要 Microsoft Visual C++ Redistributable for Visual Studio 2019,可以在标题 Other Tools and Frameworks 下下载 here。否则 apache 服务器将无法启动。

【讨论】:

【参考方案18】:

我已通过从此处下载文件将 PHP 更新到 8。 https://sourceforge.net/projects/xampp/files/XAMPP%20Windows/8.0.6/

通过将以前的 PHP 文件夹重命名为其他内容,将其上传到 xampp 目录。但是,然后在启动 apache 时出现以下错误。

Error: Apache shutdown unexpectedly.
This may be due to a blocked port, missing dependencies,
improper privileges, a crash, or a shutdown by another method.
Press the Logs button to view error logs and check
the Windows Event Viewer for more clues
If you need more help, copy and post this
entire log window on the forums

之后,我也将 xampp 文件夹中的 apache 目录替换为我下载的较新版本,它解决了问题。

在尝试访问 phpmyadmin 页面时遇到了另一个问题,然后再次从 xampp 目录重命名了以前的 phpmyadmin 文件夹,并从下载的文件中上传了新版本。问题已解决。

【讨论】:

以上是关于在 XAMPP for Windows 中升级 PHP?的主要内容,如果未能解决你的问题,请参考以下文章

在 XAMPP for Windows 中升级 PHP?

在 XAMPP for Windows 中升级 PHP?

xampp for Windows:如何选择绝对路径?

markdown 在XAMPP for Windows中配置SSL的指南

在 xampp 中从 5.6 迁移 PHP 7 时,PDO 驱动程序在 Windows 中没有价值

网站⭐Windows下,将xampp升级为https