在XAMPP for Windows中升级PHP?

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

451753 次浏览

我认为您需要实际下载并安装所需PHP版本的XAMPP.我认为您不能单独升级XAMPP的组件,除非XAMPP本身提供了相应的工具。

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

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

XAMPP有较新的测试版,带有较新的PHP升级。

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

你可以通过下面的链接,因为它帮助了我,也应该为你工作。__ABC 0。

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

编辑:

首先,始终备份您的数据。

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

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

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

在这个网站你可以得到

XAMPP附加组件

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

http://windows.php.net/download/网站

下载所需的PHP二进制文件版本。下载线程安全二进制ZIP版本。 将下载的PHP版本解压缩到一个单独的文件夹中。 请确保您的新PHP文件夹名称不是“ PHP ”。您可以使用文件名称作为版本名称。例如,对于PHP 5.4,您可以使用PHP54。

将新的PHP文件夹复制到XAMPP文件夹中。现在转到XAMPP/Apache/conf/extra文件夹。从文件夹Extra中打开文件httpd-xampp.conf.更改以下变量:

变量phpinidir为/ 可变LoadModule为//php5apache2_2.dl

保存文件httpd-xampp.conf.重新启动XAMPP Apache服务器。如果你的服务器成功重启,那么你的服务器PHP版本就升级了。

我还没有足够的声誉来评论,但是,补充Ssharma的回答:

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

注意:有一个选项可以导出整个数据库集合(它将文件命名为127.0.0.1.SQL)。但是,我从来没有很幸运地让它正确导入。单独创建每个数据库以确保其正常工作。我把这篇文章写得有点冗长,但那是因为我喜欢为那些还不知道自己在做什么的人写文章(我,我自己,不久前还在那里(我们所有人都在某个时候))。

我的答案

的速记版本:
1)单独
导出数据库 2)导入到新安装的XAMPP

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、_、重写等)

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

  1. 下载XAMPP的最新便携式版本。
  2. 解压缩归档文件(不是已安装XAMPP的位置)。
  3. 从提取的归档文件中复制PHP文件夹。
  4. 保留已安装的XAMPP目录中的PHP文件夹的备份。您可以像将PHP文件夹名称更改为PHP-old或 比如PHP-version-number
  5. 粘贴从提取的归档文件中复制的PHP文件夹。
  6. 如果您之前更改了默认设置,请使用备份文件夹php.ini文件替换php.ini文件。
  7. 仅此而已,启动/重新启动server

我需要从5.3.8至5.3.29更新我的PHP.(两个线程安全)在窗户

我做的步骤:

  1. 在XAMPP下备份我的初始PHP文件夹。
  2. 已从此处
  3. 下载ZIP http://windows.php.net/download/#php-5.3-ts-vc9-x86
  4. 将该ZIP解压到XAMPP文件夹中。
  5. 已将PHP.ini文件从旧的PHP文件夹复制到新文件夹中。
  6. 复制了几个新PHP文件夹中没有的文件夹, 从旧的。例如:Extras,其中包含browscap.ini文件 (这个是需要的)
  7. 已将
  8. 所需的扩展名从旧PHP分机:文件夹复制到新PHP中 EXT文件夹。我通过检查PHP.ini文件中的扩展名列表,手动复制了它们。
  9. 还复制了以下文件:php5apache2_2.DLL、php5ts.DLL

希望我涵盖了一切。

如果您更改PHP的主要版本(例如5.3.X到5.4.X),这些步骤很可能不起作用,但对于次要版本,它应该起作用。

同时,这也是发现问题所在的好方法。启动命令行并尝试从XAMPP/Apache/bin下启动httpd.exe,它将列出发现的错误。

我刚刚用PHP 5.3.X(包括Mercury amp;amp;amp;)升级了我旧XAMPP Portable费勒兹拉(amp;F)Tomcat)到PHP 5.6.X(包括以前的版本)的XAMPP Portable..
我的方式:

  1. 首先下载最新的XAMPP Portable(我使用的版本:XAMPP-Portable-Win32-5.6.14-3-VC11直接下载链接最后一个XAMPP
  2. 解压缩新的下载文件到驱动器D,因为新版本中没有Mercury,Filezilla,Tomcat,然后我将这些包从旧版本复制到新版本。
  3. 现在,在旧XAMPP上,首先将所有htdocs文件复制到新XAMPP htdocs
  4. 现在,在旧的XAMPP上,将所有数据库备份到两个10分离的SQL文件中
  5. 现在,在新的XAMPP上,在PHP.ini和/apache/conf/extra/httpd-xampp.conf上更改一些设置,如max_upload_size等。
  6. 现在删除(制作RAR存档并删除)它,并将新的XAMPP从驱动器D复制到驱动器C
  7. 现在启动新的XAMPP,转到phpMyAdmin,创建我在以前的XAMPP中使用的用户和密码,并添加该用户的所有权限。
  8. 现在转到phpMyAdmin上的Import选项卡,并单独导入SQL文件。
  9. 现在,我使用驱动器C中的所有新功能来测试XAMPP

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

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

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

  1. 转到phpinfo(),按下Ctrl+F,然后键入thread以检查该值。
  2. 如果启用,则下载非线程安全版本,否则从在这里(ZIP)下载线程安全版本。
  3. 解压缩该文件,并将文件夹重命名为php
  4. 转到XAMPP文件夹,将默认php文件夹重命名为其他名称。
  5. 复制XAMPP目录中解压缩的(重命名为php)文件夹。
  6. 从默认/旧php文件夹(已重命名)复制php.ini文件,并将其粘贴到新php文件夹中。
  7. 重新启动XAMPP服务器,您就可以开始了。

要在XAMPP中升级PHP,您可以遵循以下步骤,否则您可以跳过这4个步骤,直接从位置安装Mamp(也适用于Windows),这里是直接下载链接

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

步骤2:制剂

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

第三步:升级 本指南假定您的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应指示升级已成功。 我会更新这篇文章,如果我发现使用这种方法的任何问题,或者执行升级的更干净(自动化)的方法。

我已从PHP5.6升级到PHP7.2

我遵循的步骤。

  1. 在这里下载PHP二进制文件。我已经下载了VC15 x86线程安全压缩文件。
  2. 已创建XAMPP/PHP文件夹的备份。
  3. 将ZIP文件的所有内容解压到XAMPP/PHP文件夹。
  4. 已复制PHP.ini(因为我以前修改过它,我想要回我的配置,如果您使用的是默认配置,则跳过此步骤。)
  5. 编辑下面的文件

C:\xampp\Apache\conf\extra\HTTP-xampp.conf

5.1.代替

加载文件“ C:/xampp/PHP/php5ts.DLL ”

加载文件“ C:/xampp/PHP/libpq.DLL ”

LoadModule PHP5_模块“ C:/xampp/PHP/php5apache2_4.DLL ”

加载文件“ C:/xampp/PHP/php7ts.DLL ”

加载文件“ C:/xampp/PHP/libpq.DLL ”

LoadModule PHP7_模块“ C:/xampp/PHP/php7apache2_4.DLL ”

  1. 重新启动Apache

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

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

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

之后,您需要重新运行XAMPP.

我在YouTube上找到了一个视频,可以帮助你。 如何在XAMPP中更新PHP版本

注意

为了在升级后运行Apache服务器,PHP 7.4.X需要Microsoft Visual C++Redistributable for Visual Studio 2019,可从标题其他工具和框架下的在这里下载。否则Apache服务器将无法启动。

通过从这里下载文件,

我已经将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文件夹,并从下载的文件中上传新版本。它解决了这个问题。

升级到PHP 8

在XAMPP中将旧版本的PHP替换为新的主要版本(如PHP 8)并不是一个好主意,因为它可能会引入许多潜在的问题和不兼容性,因为工具、配置和代码库不是为一起使用而设计的。

相反,从长远来看,这是一个更好的主意。只更新到XAMPP本身的最新版本-这将把PHP和PHP需要使用的任何其他二进制文件(包括MySQL和phpMyAdmin)升级到旨在与PHP 8兼容的版本。通过这种方式,您还可以更全面地利用更新到较新版本的安全性和速度优势-例如,phpMyAdmin的现代版本比几年前的版本要快得多,错误也少得多。

不幸的是,没有自动更新XAMPP的方法,但可以很轻松地手动完成-只需按照下面的步骤操作。


如何正确地将XAMPP更新到PHP 8

  1. 将当前正在工作的XAMPP文件夹(默认情况下位于C:\XAMPP)重命名为XAMPP.old或类似的名称,以表明它是旧版本。
  2. 为所需的XAMPP/PHP版本下载XAMPP安装程序请注意,XAMPP版本是PHP版本的镜像,以便更容易知道您获得的是哪个PHP版本。),并将其安装到C:XAMPP
  3. 完成安装过程,并随时取消选择您不需要的任何软件,如Mercury Mail和Tomcat,以防止它们弄乱XAMPP文件夹。

安装完成后,将以下文件夹从C:\XAMPP.old中的旧安装复制到C:\XAMPP中的新安装:

mysql\data
mysql\backup
Any website or project folders you have in htdocs\

您现在已经将上一次安装的所有重要数据都移走了,因此,如果您没有对XAMPP安装进行大量定制,或者不关心将您的定制移走,您可以在此阶段停止,并且您应该在PHP 8上运行XAMPP的完全工作安装。


如果您确实希望保留所做的任何配置更改

我们将在C:\XAMPP.old上移动旧XAMPP安装中的所有主要配置文件。

第一个是php\php.ini文件-您不应该,只需复制此文件,因为它包含特定于当前PHP安装的配置选项。如果您对其进行了更改或不确定是否进行了更改,则可以使用比较工具(如git diff --color -y OLDFILE NEWFILE)将旧的php.ini文件与刚安装的文件进行比较-如果您在红的中看到任何行,则应将这些行复制到C:\XAMPP\php.ini文件中。

其余的文件可以简单地复制过来,如果你认为你已经对它们做了任何更改。

apache\httpd.conf
apache\conf\extra\httpd-ssl.conf
apache\conf\extra\httpd-xampp.conf
apache\conf\extra\httpd-vhosts.conf

实际上,这些在XAMPP安装中都是相同的,所以无论如何复制它们都不会有任何损害-但是在测试新安装时,将C:\XAMPP.old文件夹保留几个星期始终是一个好主意。

最后,如果您曾经在XAMPP服务器上设置过SSH,则可以将密钥复制到apache\conf\ssl.key\中,以避免再次设置这些密钥。

现在,您可以重新启动服务器以确认新版本的Apache和MySQL正在运行,并访问localhost/phpmyadmin以确认已成功安装最新版本的phpMyAdmin.