如何在PHP中安装补丁

时间:2013-01-16 07:45:24

标签: php

我需要在我的PHP代码中安装此补丁:

https://bugs.php.net/patch-display.php?bug_id=44522&patch=uploads_larger_than_2g_HEAD_v2&revision=latest

任何机构都能解释一下吗?

我的PHP版本:5.4.10

2 个答案:

答案 0 :(得分:6)

在修补之前,您必须拥有源文件和补丁文件。它很简单。

  1. 转到PHP 5.4源代码的根目录
  2. 运行patch -p0 < /path/to/patch.patch
  3. 如果显示错误,请按patch -R < /path/to/patch.patch撤消。并调整 -p num 值。并转到步骤2.此处 -p 是包含补丁文件中找到的每个文件名的数字前导斜杠的最小前缀。一个或多个相邻斜杠的序列被计为单斜杠。这可以控制如何处理补丁文件中找到的文件名,以防您将文件保存在与发送补丁的人员不同的目录中。例如,假设补丁文件中的文件名是

    /u/howard/src/blurfl/blurfl.c
    

    设置-p0会使整个文件名未经修改,-p1会给出

    u/howard/src/blurfl/blurfl.c
    

    没有前导斜杠,-p4给出

    blurfl/blurfl.c
    

    并且根本没有指定-p只会给您blurfl.c。无论您最终得到什么,都会在当前目录或-d选项指定的目录中查找。 -p之后的数字可以通过以下

  4. 确定
  5. 之后你需要编译这个修补过的PHP版本。编译指令包含在PHP源目录中。要在Unix中构建它,请使用README.UNIX-BUILD-SYSTEM文件,对于Windows,使用README.WIN32-BUILD-SYSTEM文件。

答案 1 :(得分:1)

将您的文件下载为php_upload_larger_than_2g.patch

将其放在您的系统上。

执行命令 patch /path/to/patch/php_upload_larger_than_2g.patch /path/to/patching/file/whatever.php

这应该“修补”该文件。请注意,这仅适用于类Unix系统。