shylocker110 发表于 2015-6-2 18:38:30

新版的 php-5.2.17-xml.patch补丁路径求解。。

看到新版的5.2.17-xml.patch补丁是用的-p0路径。。。
patch -p0 < ${cur_dir}/src/patch/php-5.2.17-xml.patch



-_-!。之前自己改的老版本的补丁打的路径是参照上面的补丁打的-P1。。请问军哥老版本的正确的路径是不是也要用-P0啊。。- -|||

cd php-5.2.17/

wget -c http://soft.vpser.net/web/php/bug/php-5.2.17-xml.patch

patch -p0 < php-5.2.17-xml.patch

shylocker110 发表于 2015-6-2 18:57:04

-p0表示从当前目录找补丁文件。好像是绝对路径吧?

-p1表示忽略第一层目录,好像是相对路径吧。

。然而我已经凌乱了。。:'(

licess 发表于 2015-6-2 20:16:48

建议你好好看一下patch命令,-p是看补丁头的,补丁头里面的内容决定-p
什么是补丁头,打开patch文件前两行
--- ext/dom/node.c        2012-08-06 17:49:48.826716692 +0800
+++ ext/dom/node.c        2012-08-06 17:52:47.633484660 +0800

shylocker110 发表于 2015-6-2 20:30:22

回复 3# 的帖子

原来是这样。。感谢军哥解惑。:handshake

shylocker110 发表于 2015-6-10 12:45:22

回复 3# 的帖子

军哥疑问又来了,如果只看补丁头的话,为什么新版本的是-p1
patch -p1 < ${cur_dir}/src/patch/debian_patches_disable_SSLv2_for_openssl_1_0_0.patch


老版本的是-p3
patch -p3 < debian_patches_disable_SSLv2_for_openssl_1_0_0.patch


军哥能不能帮我看下,老版本的我这样打对不对啊?

cd php-5.2.17/
wget -c http://soft.vpser.net/web/php/bug/php-5.2.17-max-input-vars.patch
patch -p1 < php-5.2.17-max-input-vars.patch

wget -c http://soft.vpser.net/web/php/bug/php-5.2.17-xml.patch
patch -p0 < php-5.2.17-xml.patch

wget -c http://soft.vpser.net/web/php/bug/php-5.2-multipart-form-data.patch
patch -p1 < php-5.2-multipart-form-data.patch

wget -c http://soft.vpser.net/lnmp/ext/debian_patches_disable_SSLv2_for_openssl_1_0_0.patch
patch -p1 < debian_patches_disable_SSLv2_for_openssl_1_0_0.patch

[ 本帖最后由 shylocker110 于 2015-6-10 14:08 编辑 ]
页: [1]
查看完整版本: 新版的 php-5.2.17-xml.patch补丁路径求解。。