在Windows XAMPP中升级PHP?


Answers:


125

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

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


10
我将C:\ XAMPP处的当前XAMPP重命名为C:\ XAMPP ORIG,以便可以在C:\ XAMPP处安装最新版本的XAMPP,但如果有问题,仍保留我应用程序的数据和原始版本。安装最新的XAMPP并看到它“覆盖”了我的XAMPP ORIG之后,我感到很害怕-在我的C:驱动器上,只有C:\ XAMPP-但是当我的htdocs和mysql \ data在新的更新版本中时,我就放心了XAMPP。
安德鲁·科珀

2
我以前总是这样做,但是将备份数据文件夹中的某些数据库放在新安装的xampp文件夹中后,它们崩溃了。因此,我一直在寻找无需Apache升级就升级PHP的方法。
锡胡2014年

@whitelettersandblankspaces您是Xampp用户吗?我认为对于使用xampp的任何人来说,这都是完全清楚的。。。不过,我的赞扬词是Dharmang,他以更精确的方式回答了这个问题,如果我想坚持使用相同版本的Apache和MySql并仅仅更新PHP,该怎么办?这个懒惰的(但明确的)答案不能解决这个问题
lucasreta 2014年

29
请注意,此答案仅描述保存Web和MySQL数据。它不包括对PHP(php.ini)Apache(httpd.conf等)的配置更改
。– Kwebble

14
这是升级Xampp,而不是使用相同的Xampp升级PHP。
Skrol29年

59

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

意识到我的回答对几个用户有所帮助,这是原始链接的编辑内容:

编辑:

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

  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子目录。


不需要步骤4。完成其余工作后,我还从备份文件夹复制了php.ini和php / extras。(文章的评论中也提到过,这对我也有帮助)
Musa Haidari 2014年

@Dharmang:不幸的是,我确实shift + delete删除了我所有的xampp,php apache文件夹。...用于尝试安装最新版本的php。现在我很困惑,如何开始?..能帮我吗?
个人电脑

现在安装最新版本,但是您的数据(如www目录)现在已被破坏,您可以尝试使用一些恢复软件。
Dharmang 2015年

1
@Dharmang,谢谢你的帖子。您能告诉我您在STEP 5中提到的文件在哪里,以及在覆盖内容之前或之后(如STEP 3,4中所述)
Nehal 2016年

您需要从xampp网站下载感兴趣的PHP版本。
Dharmang'2

52

最简单的方法来升级PHPXAMPP

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

我找不到XAMPP zip存档,似乎只有一个exe安装程序。
dlofrodloh,2013年

2
@dlofrodloh在这里您可以找到所有XAMPP sourceforge.net/projects/xampp/files文件。
Vikas Khunteta

2
在2018年更新:我尝试将7.0.27更新为7.2.7,并且像魅力一样工作。与重新安装整个xampp相比,最大的优势是保持了所有设置(除了php.ini)。谢谢你
Mikec007 '18

1
@VikasKhunteta我知道这纯粹是关于升级PHP的,但是在现实世界中,您通常也需要考虑DB,这可能是一个不礼貌的唤醒,因为您的东西不再工作了。我尝试了几种解决方案,但到目前为止,这些解决方案对我来说都不起作用,因此我放弃了XAMPP之类的完整环境。
sba

1
@AdheneManx我遇到了同样的问题,您的PHPMyAdmin建议效果很好。我还想指出,我的PHP版本安装为x86,因此x64版本将无法使用。需要下载正确的Xampp x86便携式版本sourceforge.net/projects/xampp/files/XAMPP%20Windows/7.3.2-您可以检查是否安装了x86或x64phpinfo()
Linesofcode

13

我需要将我的PHP从5.3.8更新到5.3.29。在Windows上(均为线程安全)

我执行的步骤:

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

希望我能涵盖所有内容。

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

另外,这也是查看问题所在的好方法...启动命令行,然后尝试从xampp / apache / bin下启动httpd.exe,它将列出发现的错误。


1
不适用于php7,但从5.5到5.6效果很好!
弗拉德

10

我已经升级到php7.2php5.6

我遵循的步骤。

  1. 此处下载PHP二进制文件。我已经下载了VC15 x86 Thread Safe Zip文件。
  2. 创建了xampp / php文件夹的备份。
  3. 将zip文件的所有内容提取到xampp / php文件夹中。
  4. 复制的php.in i(因为我之前对其进行了修改,所以我想恢复我的配置,如果您使用的是默认配置,请跳过此步骤。)
  5. 编辑以下文件

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”

  1. 重新启动Apache

并非完美的解决方案:PHP警告:PHP启动:无法加载动态库'php_mysql.dll'(尝试:C:\ xampp \ php \ ext \ php_mysql.dll ...
哈利

尝试下载确切的版本。在我的情况下是VC15 x86线程安全
Anurag Prashant

1
@Harry-请修改为php7_mysql.dll(或任何适用的文件)。问题是升级php模块而不是其他库。
阿努拉格·普拉申

9

我认为您需要使用所需的PHP版本实际下载并安装XAMPP。我不认为您可以单独升级XAMPP的组件,除非XAMPP本身对此提供了便利。


2
XAMPP没有当前的PHP版本,因此全新安装将无用
webby68 2014年

您可以升级XAMPP的组件,请在此处
Vikas Khunteta 2015年

9

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

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

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

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


6

我没有足够的声誉来发表评论,但是,在ssharma的回答中添加了以下内容:

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

注意:有一个选项可以导出数据库的整个集合(其名称为127.0.0.1.sql)。但是,我从来没有遇到过让它正确导入的运气。分别处理每个数据库以确保其正常工作。我写这篇文章有点费劲,但这是因为我喜欢为尚不完全了解他们正在做的事情的人写信(我,我自己,不久前就在那儿(我们所有人都在某个地方点))。

我的答案的简写形式:
1)分别导出数据库
2)导入到新安装的XAMPP中


5
  1. 转到phpinfo(),按ctrl+ f,然后键入thread以检查值。
  2. 如果已启用,请下载非线程安全版本,否则请从此处(zip)下载线程安全版本。
  3. 解压缩它,并将文件夹重命名为php
  4. 转到您的xampp文件夹,将默认php文件夹重命名为其他名称。
  5. 将提取的(重命名php)文件夹复制到xampp目录中。
  6. php.ini从默认/旧php文件夹(已重命名)中复制文件,然后将其粘贴到新php文件夹中。
  7. 重新启动xampp服务器,一切顺利。



3

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

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


3

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

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

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

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

我在youtube上找到了可以帮助您的视频。 如何在xampp中更新php版本


2

我只是将旧的XAMPP可移植的PHP 5.3.X(包括Mercury&FileZilla和Tomcat)升级到XAMPP可移植的PHP 5.6.X(包括以前的版本)...
我的方式:

  1. 首先下载最新的xampp Portable(我使用的版本:xampp-portable-win32-5.6.14-3-VC11 直接下载链接最后的XAMPP
  2. 将新的下载文件提取到驱动器d中,因为新版本中没有汞,filezilla,tomcat,然后将这些软件包从旧版本复制到新版本
  3. 现在在旧的xampp上,首先将所有htdocs文件复制到新的xampp htdocs
  4. 现在在旧的xampp上将所有数据库备份到5个两个10个分离的sql文件中
  5. 现在在新的xampp上并max_upload_size在php.ini上以及在/apache/conf/extra/httpd-xampp.conf
  6. 现在将其删除(制作一个rar存档并删除),然后将新的xampp从驱动D器复制到驱动器C
  7. 现在启动新的xampp,转到phpmyadmin,创建我在以前的xampp中使用的用户和密码,并添加该用户的所有特权。
  8. 现在,要在phpmyadmin上导入选项卡,并分别导入sql文件。
  9. 现在我用驱动器C中的所有新功能测试xampp

注意
在phpmyadmin的Export database选项卡上,选择UTF-8 Character并选中Disable foreign key checks复选框,
然后在import选项卡上取消选中Enable foreign key checks


2

1)从官方网站下载新的PHP(最好使用zip)。将旧php目录重命名为,php_old然后再次创建php目录,然后将解压缩后的文件放在该目录中。

php.ini连接所需的模块中,如果您使用默认情况下已关闭的功能(例如Memcached等),但不要忘记添加相应的.dll文件。

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

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

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

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

  • 连接您需要的模块(如果您使用了默认情况下未打开的功能,例如mod_rewrite等)


0

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

步骤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应该指示升级已成功。如果发现使用此方法或执行升级的更干净(自动)方式有任何问题,我将更新此帖子。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.