【问题标题】:How to Install a Patch in PHP [closed]如何在 PHP 中安装补丁 [关闭]
【发布时间】:2013-01-16 07:45:24
【问题描述】:

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

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

任何机构可以解释一下吗?

我的 PHP 版本:5.4.10

【问题讨论】:

    标签: php


    【解决方案1】:

    您必须先拥有源文件和补丁文件,然后才能对其进行修补。它很简单。

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

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

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

      u/howard/src/blurfl/blurfl.c
      

      没有前导斜线,-p4 给出

      blurfl/blurfl.c
      

      根本不指定-p 只会给你blurfl.c。无论你最终得到什么,要么在当前目录中查找,要么在-d 选项指定的目录中查找。 -p后面的数字可以通过以下方式确定

    4. 之后,您需要编译这个修补过的 PHP 版本。编译说明包含在 PHP 源目录中。要在 Unix 中构建它,请使用 README.UNIX-BUILD-SYSTEM 文件,在 Windows 中使用 README.WIN32-BUILD-SYSTEM 文件。

    【讨论】:

    • .. 之后你必须构建 PHP,只是 .. 确保提问者理解这一点。 :-) 根据使用的发行版(如果在 linux 上),可能还有更好的方法可以让您使用现有的构建过程和源代码。
    • 谢谢。添加了该信息
    • 非常感谢,效果很好,
    • 在 Windows 环境中如何做到这一点?
    • @user752746 过程相同。有一个patch utility for window。并查看 php.net 在 windows 上编译 PHP。
    【解决方案2】:

    php_upload_larger_than_2g.patch 之类的形式下载您的文件。

    把它放在你的系统上。

    运行: patch /path/to/patch/php_upload_larger_than_2g.patch /path/to/patching/file/whatever.php

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

    【讨论】:

    • 谢谢 :),效果很好
    猜你喜欢
    • 2015-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多