有没有办法在XAMPP中使用两个PHP版本?

时间:2017-08-21 05:58:11

标签: php xampp

我们正在使用PHP 7.0运行XAMPP,因为我们的新产品需要PHP 7。

但是有一些旧项目使用mysql_connect等函数。这些在PHP 7.0中被删除。

那么,有没有办法在XAMPP中轻松更改PHP版本?

  

注意:请不要建议升级旧项目以兼容新版本,因为我无法做到这一点   作为开发人员(只是一名员工),我无法做出决定。

21 个答案:

答案 0 :(得分:74)

您可以下载所需的任何PHP版本,并将它们放入自己的目录中,例如

c:\php5\

c:\php7\

您需要做的就是告诉您的Web服务器(Apache)使用哪个版本的PHP,您可以通过加载相应的模块来完成。在Apache中,您可以通过查找文件httpd.conf然后编辑相应的行来执行此操作:

LoadModule php7_module c:\php7\libphp7.so

你必须找出正确的路径 - 这只是为了说明。

保存httpd.conf并重新启动您的服务器。请注意,如果您不重新启动,则更改将无法生效。

没有GUI切换能够执行此操作,您需要编辑.conf文件,然后重新启动Apache。这样做只需要几秒钟,你甚至可以注释掉一个版本,以便#34;切换"只需要几次按键,例如

使用PHP 5:

LoadModule php5_module c:\php5\libphp5.so
#LoadModule php7_module c:\php7\libphp7.so

使用PHP 7:

#LoadModule php5_module c:\php5\libphp5.so
LoadModule php7_module c:\php7\libphp7.so

您不需要多个版本的XAMPP ,或双启动,或使用其他机器,或任何其他"解决方案"这提出了复杂的解决方法。 OP希望使用XAMPP并告诉它使用哪个版本的PHP。这是最快捷,最有效的方法,只需要安装一个XAMPP。

编辑2017年11月1日:显然有些人说Windows上没有.so个文件。我给出的答案改编自我在Mac上设置的内容(使用.so文件而不是.dll)。然而,答案的原则仍然完全正确。您正在使用Apache的配置文件httpd.conf来指定 PHP模块(.so.dll)所在的位置。因此Windows的唯一区别是文件名和/或路径位置。我给出的答案对于Apache / PHP的vanilla安装也是正确的(根本没有XAMPP)。

答案 1 :(得分:66)

  

为什么在可以使用多个PHP时在PHP版本之间切换   版本单个xampp安装同时进行?   使用单个xampp安装,您有两个选项:

  1. 仅针对旧项目的目录运行较旧的PHP版本: 这大部分时间都会达到目的,你可能有一两个 您打算使用较旧的PHP版本运行的旧项目。 只需配置xampp即可运行较旧的PHP版本 那些项目目录。

  2. 在xampp的单独端口上运行较旧的PHP版本:有时您可能 当你需要运行时,将升级和旧项目升级到最新的PHP版本 关于新旧PHP版本的相同项目来回。 然后你可以在不同的端口上设置一个较旧的PHP版本(比如说8056) 所以当你去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.

  4.   

    让我们进行设置。

    第1步:下载PHP

    所以你在xampp下运行PHP 7,你想要为它添加一个旧的PHP版本,比如PHP 5.6。从php.net下载PHP zip存档的nts(非线程安全)版本(旧版本请参阅archive)并解压缩c:\xampp\php56下的文件。线程安全版本不包括php-cgi.exe。

    第2步:配置php.ini

    在记事本中打开c:\xampp\php56\php.ini文件。如果该文件不存在,请将php.ini-development复制到php.ini并在记事本中将其打开。然后取消注释以下行:

    extension_dir = "ext"
    

    第3步:配置apache

    打开xampp控制面板,单击apache的配置按钮,然后单击Apache (httpd-xampp.conf)。将打开一个文本文件,将以下设置放在文件的底部:

    ScriptAlias /php56 "C:/xampp/php56"
    Action application/x-httpd-php56-cgi /php56/php-cgi.exe
    <Directory "C:/xampp/php56">
        AllowOverride None
        Options None
        Require all denied
        <Files "php-cgi.exe">
            Require all granted
        </Files>
    </Directory>
    

    注意: 如果需要,您可以在步骤1到3之后为xampp安装添加更多版本的PHP。

    第4步(选项1): [添加目录以运行特定的PHP版本]

    现在您可以设置将在PHP 5.6中运行的目录。只需在配置文件的底部添加以下内容即可设置目录。

    <Directory "C:\xampp\htdocs\my_old_project1">
        <FilesMatch "\.php$">
            SetHandler application/x-httpd-php56-cgi
        </FilesMatch>
    </Directory>
    
    <Directory "C:\xampp\htdocs\my_old_project2">
        <FilesMatch "\.php$">
            SetHandler application/x-httpd-php56-cgi
        </FilesMatch>
    </Directory>
    

    第4步(选项2): [在单独的端口上运行较旧的PHP版本]

    现在要将PHP v5.6设置为端口8056,将以下代码添加到配置文件的底部。

    Listen 8056
    <VirtualHost *:8056>
        <FilesMatch "\.php$">
            SetHandler application/x-httpd-php56-cgi
        </FilesMatch>
    </VirtualHost>
    

    第4步(选项3): [在虚拟主机上运行较旧的PHP版本]

    要在目录(htdocs56)上创建虚拟主机(localhost56)以在http://localhost56上使用PHP v5.6,请在所需位置创建目录htdocs56, 将localhost56添加到您的hosts文件(see how), 然后将以下代码添加到httpd-xampp.conf文件的底部。

    <VirtualHost localhost56:80>
        DocumentRoot "C:\xampp\htdocs56"
        ServerName localhost56
        <Directory "C:\xampp\htdocs56">
            Require all granted    
        </Directory>
        <FilesMatch "\.php$">
            SetHandler application/x-httpd-php56-cgi
        </FilesMatch>
    </VirtualHost>
    

    完成:保存并重新启动Apache

    保存并关闭配置文件,从xampp控制面板重启apache。如果您选择了选项2,则可以看到xampp控制面板中列出的其他端口(8056)。

    enter image description here

      

    更新错误:
      脚本格式错误的标题&#39; php-cgi.exe&#39;:标题错误

    如果您遇到上述错误,请再次打开httpd-xampp.conf并使用前导#(哈希字符)注释掉以下行。

    SetEnv PHPRC "\\path\\to\\xampp\\php"
    

答案 2 :(得分:27)

你可以像我一样download并安装两个不同的xampps :(首先是php7,第二个是php5) enter image description here

如果你不想这样做,我建议你使用wamp并更改如here所示的版本。

答案 3 :(得分:13)

我建议使用Docker,这允许您将环境分成各种组件,并随时混合和匹配您想要的组件。

Docker将允许您使用MySQL运行一个容器,使用PHP运行另一个容器。因为它们是单独的图像,所以你可以有两个容器,一个是PHP 5,另一个是PHP 7,你可以启动你想要的一个容器,端口80可以映射到两个容器。

https://hub.docker.com提供了大量预配置图像,您可以轻松安装和运行这些图像。

我还添加了portainer作为图片,它允许您管理docker设置的各个方面 - 来自docker图像(我在启动时启动了这个容器以节省我必须使用命令行)。它并不能为您做任何事情,有时第一次从命令行配置和启动图像更容易,但是一旦设置完毕,您就可以通过Web界面启动和停止它们。

也可以同时运行两个容器并将各个端口映射到每个容器。所以端口80可以映射到PHP 5和81到PHP 81(如果你在2017年观看这个,则可以映射到PHP 7)。

有各种关于如何安装Docker(https://docs.docker.com/engine/installation/)以及其他“如何”输入内容的教程。请尝试http://www.masterzendframework.com/docker-development-environment/进行开发环境配置。

答案 4 :(得分:6)

您可以拥有两个不同版本的XAMPP。

  • https://www.apachefriends.org/download.html下载这些文件并安装到您选择的目录中,例如在C:\ 5.6.31 \ xampp和C:\ 7.1.18 \ xampp中。
  • 每次安装后都转到安装目录(例如C:\ 5.6.31 \ xampp,C:\ 7.1.18 \ xampp)并启动“setup_xampp.bat”,你会看到像 this.
  • 您可以在桌面上创建“xampp-control.exe”的快捷方式(右键单击“xampp-control.exe”发送至 - &gt;桌面)并重命名前面的快捷方式。 “xampp 5.6.31”和“xampp 7.1.8”。
  • 双击“xampp-control.exe”或以前创建的快捷方式启动XAMPP控制面板,启动Apache和MySQL服务器。
  • 要测试安装,请打开浏览器,在位置栏中键入127.0.0.1或localhost。您应该看到XAMPP开始屏幕。
  • 不要打开多个XAMPP控制面板。
  • XAMPP卸载?只需删除“xampp”目录即可。 但在关闭apache和mysql之前。
  • 就是这样。您可以使用不同的php版本打开相应的XAMPP控制面板。

答案 5 :(得分:4)

是的,你可以。我假设你已经安装了xampp。所以,

  • 关闭所有xampp实例。使用任务管理器停止apache和mysqld。
  • 然后在xampp名称之后将xampp重命名为xampp1。
  • 现在下载其他xampp版本。仅创建文件夹名称xampp。在那里安装下载的xampp。
  • 现在,根据您的要求的xampp版本,只需将目标文件夹重命名为xampp,将其他文件夹重命名为其他名称。

这就是我如何使用多个xampp安装

答案 6 :(得分:4)

我正在工作一个有十年历史的项目。因此5.6是我的默认设置。还有一些旧的小型项目仅适用于5.2,我也想使用7.3.8为我的个人项目开发新版本。

这是我在默认5.6版本上添加5.2和7.3.8的操作。

1-下载的php TS版本;

2-按顺序提取到c:\ xampp \ php738和c:\ xampp \ php52文件夹

3-将这些行添加到httpd-xampp.conf(或httpd.conf)的底部;

***重要提示:请勿将脚本别名用作目标文件夹名称, 他们必须是不同的。 (例如/ php7x可以,/ php7则不能)

用于文件夹D:\ www \ php7的PHP 7.3.8

ScriptAlias /php7x "C:/xampp/php738"
Action application/x-httpd-php7-cgi /php7x/php-cgi.exe
<Directory "C:/xampp/php738">
    AllowOverride None
    Options None
    Require all denied
    <Files "php-cgi.exe">
        Require all granted
    </Files>
</Directory>

<Directory "D:\www\php7">
    <FilesMatch "\.php$">
        SetHandler application/x-httpd-php7-cgi
    </FilesMatch>
</Directory>

用于文件夹D:\ www \ php52的PHP 5.2

ScriptAlias /phpold "C:/xampp/php52"
Action application/x-httpd-phpold-cgi /phpold/php-cgi.exe
<Directory "C:/xampp/php52">
    AllowOverride None
    Options None
    Require all denied
    <Files "php-cgi.exe">
        Require all granted
    </Files>
</Directory>

<Directory "D:\www\php52">
    <FilesMatch "\.php$">
        SetHandler application/x-httpd-phpold-cgi
    </FilesMatch>
</Directory>

一些有用的注释:

  • 如果在使用composer将终端切换到7.3.8时遇到php5.x的问题
  • 如果要将php 7.3.8设置为Windows上的默认命令行php解释器,只需将php的Windows环境路径更改为7.3.8文件夹路径。
  • 不要忘记在每个版本文件夹中根据需要编辑相关的php.ini conf。

最后一点要注意的是,如果您需要使用任何版本设置虚拟主机,则可以使用类似的方法。 php 7.3.8的示例laravel vhost conf;

<VirtualHost *:80>
ServerAdmin admin@laravel.local
DocumentRoot "D:\www\vhosts\laravel.local\public"
ServerName  laravel.local
<FilesMatch "\.php$">
 SetHandler application/x-httpd-php7-cgi # escape for default php version
#SetHandler application/x-httpd-phpold-cgi # unescape for php 5.2
</FilesMatch>

ErrorLog "logs/laravel.local.log"
CustomLog "logs/laravel.local.log" combined

感谢@Munim Munna的详细回答,我想与上面的重要声明分享一个可靠的示例。

答案 7 :(得分:3)

除非必须绝对且绝对是XAMPP,否则你可以尝试用WAMP获得你想要的东西。 WAMP在不同的包中几乎是一样的。

安装完成后,您可以在这里切换php版本:

enter image description here

您可以根据需要安装多个版本的PHP。

以下是详细说明。

请到这里:WAMP download

然后选择您的基本服务器,例如最新的php7。

然后,当安装WAMP 3时,转到文件夹: addons 并选择您所使用的php版本(或多个版本)。他们提供从php 5.3.29开始的php风格,它应该与mysql_connect一起使用。

要安装插件,在安装过程中(双击exe文件)只需指向安装了WAMP 3的文件夹。

然后您可以使用其他文件夹的内容,例如:应用程序等来添加更多功能

所有东西都是接口,因此您可以专注于编码而不是破坏您的环境。

答案 8 :(得分:3)

可以通过单个XAMPP安装设置多个版本的PHP。以下说明适用于Windows。

  1. 安装适用于Windows的最新XAMPP版本(在我的情况下,使用PHP 7.1)
  2. 确保Apache未从XAMPP控制面板
  3. 运行
  4. 重命名XAMPP安装目录中的php目录,例如C:\xampp\php成为C:\xampp\php-7.1.11
  5. 下载您想要运行的PHP版本(例如:PHP 5.4.45
  6. 将php目录从您下载的版本移至XAMPP安装目录。重命名它,因此它包含PHP版本。例如C:\xampp\php-5.4.45
  7. 现在您需要编辑XAMPP和Apache配置:

    1. C:\xampp\apache\conf\httpd.conf中,找到PHP的XAMPP设置,您应该将其更改为以下内容:
    2. 您必须对其他PHP版本进行评论(使用#),因此当时只会解释一个Include

      #XAMPP settings PHP 7
      Include "conf/extra/httpd-xampp.conf.7.1"
      
      #XAMPP settings PHP 5.4.45
      #Include "conf/extra/httpd-xampp.conf.5.4.45"
      
      1. 现在在C:\xampp\apache\conf\extra目录中将httpd-xampp.conf重命名为httpd-xampp.conf.7.1,并为httpd-xampp.conf.5.4.45添加新的配置文件。在我的情况下,我复制了另一个XAMPP安装的conf文件,因为每个版本的语法可能略有不同。

      2. 修改httpd-xampp.conf.5.4.45httpd-xampp.conf.7.1,并将php目录的所有引用替换为新的php-X.X版本。每个文件至少要进行10次更改。

      3. 您现在需要为两个版本编辑php.ini。例如,对于php 7.1,编辑C:\xampp\php-7.1.11\php.ini,您将在其中替换include_pathbrowscaperror_logextension_dir的php目录路径。

      4. 就是这样。您现在可以从XAMPP控制面板启动Apache。要从一个版本切换到另一个版本,您只需编辑C:\xampp\apache\conf\httpd.conf并在重新启动Apache之前更改包含的PHP版本。

答案 9 :(得分:3)

在命令提示符窗口(cmd.exe)中运行它。

set PATH=C:\xampp\php;%PATH%

根据您安装php 7的位置进行更改。

答案 10 :(得分:2)

您不需要浪费时间使用此配置,只需使用MAMP :)

MAMP在界面上有一个PHP版本选择功能。

答案 11 :(得分:2)

我使用的是Uniserver。

内置了此功能。

http://www.uniformserver.com/

就这么简单。

  

Uniform Server是适用于Windows的免费轻量级WAMP服务器解决方案。模块化设计小于24MB,包括最新版本的Apache2,Perl5,PHP(在PHP53,PHP54,PHP55或PHP56之间切换),MySQL5或MariaDB5,phpMyAdmin或Adminer4。无需安装!没有注册表灰尘!只需打开包装即可开启!

它甚至可以通过闪存驱动器运行。有cron仿真,支持perl,mariaDB,几个版本的Mysql,filezilla服务器和其他一些东西。

enter image description here

答案 12 :(得分:1)

我只想分享我的新发现:https://laragon.org/docs/index.html

我只用了 1 小时,看起来很有希望。

  • 您可以添加和切换 PHP 版本,
  • 它具有适用于 Wordpress、laravel 等的一键安装程序
  • 它使用每个应用程序的名称(例如 appname.test)自动创建虚拟主机
  • 您可以选择当前的 htdocs 文件夹作为根 www 文件夹
  • 您只需添加其他 PHP 版本,将它们提取到文件夹中并从列表中选择它们
  • 每次更改后它会自动重新加载 apache
  • 添加 phpMyAdmin 就像下载它并将其放在 {LARAGON_DIR}\etc\apps\phpMyAdmin 等中一样简单...

Laragon DOCS

How to add another PHP version to Laragon

How to add phpMyAdmin to Laragon


我与 Laragon 没有任何关联。刚刚在 Google 上找到它,寻找“XAMPP Windows 替代品”

答案 13 :(得分:1)

按照此简单步骤进行操作。我目前在PHP 7.2上运行XAMPP,但需要PHP 5.6才能在旧项目上工作

STEP 1

https://windows.php.net/download上下载PHP的线程安全版本

将文件放入[Drive]:\ xampp \ php5.6

  • 根据PHP版本重命名文件夹

第2步

复制[驱动器]:\ xampp \ apache \ conf \ extra \ httpd-xampp.conf

将其重命名为[Drive]:\ xampp \ apache \ conf \ extra \ httpd-xampp5.6.conf根据Php版本重命名文件

第3步

编辑新创建的“ httpd-xampp5.6.conf”

基本上,您需要更改所有PHP源代码和.dll

之前

LoadFile "C:/xampp/php/php7ts.dll"
LoadFile "C:/xampp/php/libpq.dll"
LoadModule php7_module "C:/xampp/php/php7apache2_4.dll"

之后

LoadFile "C:/xampp/php5.6/php5ts.dll"
LoadFile "C:/xampp/php5.6/libpq.dll"
LoadModule php5_module "C:/xampp/php5.6/php5apache2_4.dll"

这是我的文件:https://gist.github.com/mpalencia/f8a20c31bffb02fe20d371218c23d1ec

第4步

编辑文件[Drive]:\ xampp \ apache \ conf \ httpd.conf

之前

# XAMPP settings
Include "conf/extra/httpd-xampp.conf"

之后

# XAMPP settings
Include "conf/extra/httpd-xampp5.6.conf"
  • 切换到不同版本时,您只需要编辑此行

第5步

编辑您的PHP 5.6配置-php.ini

添加扩展目录: extension_dir =“ C:\ xampp \ php5.6 \ ext”

STEP 6

启动Apache

STEP 7

在Windows上编辑PHP环境变量路径

答案 14 :(得分:1)

这可能是对该问题的最不专业的答案,但这也是最简单的实现。

如果您有两个驱动器,例如 C: D:,则可以在两个具有不同php版本的驱动器上安装XAMPP的单独实例。这花了我不到10分钟的时间,而且最不容易出错。

我只是创建两个xampp-control.exe的桌面快捷方式,并以它们的php版本命名。我希望这可以帮助像我这样的人,他们喜欢一个非常快速和肮脏的解决方案。

答案 15 :(得分:0)

PHP 的版本可以在 .htaccess 文件中指定。这意味着虽然大多数项目可以默认为 httpd.conf 文件中的全局配置,但只需编辑 .htaccess 即可将特定项目设置为不同的版本。

使用.htaccess的好处是不同的项目可以使用不同的PHP版本,而无需不断修改httpd.conf来指定不同项目目录需要哪个PHP。相反,可以直接在项目本身内进行更改,只需编辑其 .htaccess 文件即可。

所需的确切线路因您的设置而异。对我来说,使用 Fast CGI,我只需在我想使用 PHP 8 的那些项目的 .htaccess 文件中添加以下行(PHP 7 是我服务器上的默认设置)。

FcgidWrapper "C:/xampp/php-8.0.6-nts-Win32-vs16-x64/php-cgi.exe -c C:/xampp/php-8.0.6-nts-Win32-vs16-x64" .php

字符串的第一部分引用 PHP 可执行文件,而 -c 选项用于指定所需 php.ini 文件的目录路径。如果省略此项,将使用全局配置的 php.ini。

答案 16 :(得分:0)

在安装magento2时,我确实遇到了同样的问题,虽然它需要〜7.3.0,但我有7.4.1。因此,我使用这种方法将php版本降级。

第1步:从此处下载php版本nts版本 https://windows.php.net/downloads/releases/archives/ 并将此版本粘贴到名为“ php71”的c:\ xampp \

步骤2:设置虚拟主机环境并进行其他一些更改。 转到“ c:\ xampp / \ pache \ conf \ extra \ httpd-vhosts.conf”,并将代码段放在行尾

<VirtualHost 127.0.0.1:80>
    DocumentRoot "C:/xampp/htdocs/magento/crashcourse/"
    ServerName magento2.test
    <Directory "C:/xampp/htdocs/magento/crashcourse/">
        Require all granted    
    </Directory>
    <FilesMatch "\.php$">
        SetHandler application/x-httpd-php71-cgi
    </FilesMatch>
</VirtualHost>

转到“ C:\ Windows \ System32 \ drivers \ etc \ hosts”,然后使用管理员权限编辑文件,然后在行尾添加代码。

127.0.0.1 magento2.test

转到您的Apache Config文件“ c:/xampp/apache/conf/extra/httpd-xampp.conf”,然后将以下代码粘贴到该行的末尾

ScriptAlias /php71 "C:/xampp/php71"
Action application/x-httpd-php71-cgi /php71/php-cgi.exe
<Directory "C:/xampp/php71">
    AllowOverride None
    Options None
    Require all denied
    <Files "php-cgi.exe">
        Require all granted
    </Files>
    SetEnv PHPRC "C:/xampp/php71"
</Directory>

现在,一切就绪。 转到网址:http://magento2.test一切正常!

答案 17 :(得分:0)

我知道这是旧帖子,但我想分享一个在PHP 7中仍在运行mysql_connect()的库。 它通过重写实际函数来工作(在此库上工作的mysqli_connect()覆盖了mysql_connect()。)

我从这部视频https://www.youtube.com/watch?v=Eqd-jJu4sQ4

中发现了

希望对您有帮助

答案 18 :(得分:0)

使用此php switcher

您可以通过vhost配置将php版本控制到所需的任何项目。

答案 19 :(得分:0)

我需要做同样的事情,所以我用google搜索堆栈溢出,OP有同样的问题...所以我的发现..我尝试重命名来自所有不同方向的文件,我的结论基本上这花了我太久了。 SOOOO我最终只是从这里安装版本7:

https://www.apachefriends.org/index.html (在尝试之前终止服务并退出xampp)

当被问到将目录名放在哪里时(给它一个不同的名字):

enter image description here

DONEZO!现在只需要确保杀死服务并在来回交换之前退出,并且你有2个无菌的XAMPP环境可以玩...

万岁!现在我真的可以上班了!

答案 20 :(得分:0)

也许有点晚了,但我正在使用批处理来重命名PHP文件夹(我在几年前发现的phpswitch的略微修改版本)。

将不同的文件夹复制到XAMPP安装中。每个PHP文件夹(活动文件夹除外)都接收版本号作为后缀(例如 php_5.6.32 )。在 ALL PHP文件夹中,创建了一个文件(PHP_VERSION),该文件仅包含相应的版本号,因此脚本可以获取此信息。但这些都在README中有所描述。

自PHP7起, httpd-xampp.conf 加载 php7ts.dll 而不是 php5ts.dll 。因此,我必须通过遵循相同的方法扩展脚本(PHPSwitch.php)来重命名这些配置文件。

    $renameCur = new PHPSwitch_Rename($currInst['path'], $this->_cfg['phpInstallationsPath'] . $this->_cfg['phpDirName'] . '_' . $currInst['version']);
    $renameNew = new PHPSwitch_Rename($newInst['path'], $this->_cfg['phpInstallationsPath'] . $this->_cfg['phpDirName']);

    $apache_curent      = $this->_cfg["phpInstallationsPath"]."apache/conf/extra/httpd-xampp.conf";
    $apache_curent_rename   = $this->_cfg["phpInstallationsPath"]."apache/conf/extra/httpd-xampp_".$currInst['version'].".conf";
    $apache_new             = $this->_cfg["phpInstallationsPath"]."apache/conf/extra/httpd-xampp_".$newInst['version'].".conf";
    $apache_new_rename      = $this->_cfg["phpInstallationsPath"]."apache/conf/extra/httpd-xampp.conf";

    $renameCur_apache_conf = new PHPSwitch_Rename($apache_curent, $apache_curent_rename);
    $renameNew_apache_conf = new PHPSwitch_Rename($apache_new, $apache_new_rename);

    $transaction = new PHPSwitch_Rename_Transaction();
    $transaction->add($renameCur);
    $transaction->add($renameNew);
    $transaction->add($renameCur_apache_conf);
    $transaction->add($renameNew_apache_conf);