编译支持需要哪些步骤西克在 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 将其视为一个模块!