如何让 syck 使用 php5.2.x 进行编译

如何让 syck 使用 php5.2.x 进行编译

编译支持需要哪些步骤西克在 64 位 centos 5.3 系统上进入 php 5.2.x?

我还没有看到关于这个问题的其他好的常见问题解答,所以我想我会把问题和答案都放在这里,因为我花了很长时间才弄清楚。如果有人喜欢,请点赞问答,这样我就知道会继续在这里发布这样的内容。

答案1

注意:这是一个 64 位 centos 5.3 盒子

因此,我首先必须下载 syck 和 php 的源代码。我将它们分别解压到 ~/syck 和 ~/php5 。

如果您只是尝试在 syck 中进一步配置 php5,您将看到没有配置选项可以添加它:

[z@abc php-5.2.6]# ./configure --help |grep syck
[z@abc php-5.2.6]# 

接下来我设置了一些编译选项

导出 CFLAGS="-fPIC -O3" 这为我提供了 3 级优化和独立于处理器的编译。

然后构建 syck

[z@abc syck-0.53/ext/php]# ./configure --prefix=/usr/local/syck
[z@abc syck-0.53/ext/php]# make -j4
[z@abc syck-0.53/ext/php]# make check
[z@abc syck-0.53/ext/php]# make install

现在我将 syck 的 php 扩展目录复制到 php 的 ext 区域

cd {SYCKSRCDIR}
cp -r ext/php ../{PHPSRCDIR}/ext/syck
cd ../{PHPSRCDIR}

然后我将目录改回 php (~/php5)

现在 syck 位于 php 的 ext 目录中,我可以运行 buildconf,它会将其拾取并放入 php5 的配置选项中

[z@abc php-5.2.6]#  ./buildconf --force

如果你有兴趣看看会发生什么,你可以在没有 --force 的情况下运行 buildconf,它不会造成任何损害,但会运行失败

现在我明白了

[z@abc php-5.2.6]# ./configure --help |grep syck
--with-syck=DIR       Include syck support 
[z@abc php-5.2.6]# 

所以 php 现在让我将 syck 添加为静态编译的模块..w000t!!

最后:

[z@abc php-5.2.6]# ./configure  '--prefix=/usr/local/php5' --with-syck=/usr/local/syck

然后就到了腾出时间!!!

[z@abc php-5.2.6]# make -j4
[z@abc php-5.2.6]# make test
[z@abc php-5.2.6]# make install

完成了!哇哦

检查我的工作:

[z@abc php-5.2.6]# /usr/local/php5/bin/php -m
[PHP Modules]
.
.
.
syck
.
.
.
[z@abc php-5.2.6]# 

是的,php -m 将其视为一个模块!

相关内容