赞助连接

赞助连接

阅 读 文 章

在Apache 上以 DSO 方式安装 PHP

[来源:网上转载 (http://www.chinaunix.net) | 作者:网友(不详) | 时间:2007-07-07 | 浏览:人次 ]

如果以静态方式安装Apache ,则每次 PHP 有升级后,就必须重新安装 Apache,所以,
在实践当中,笔者总是建议用户以 DSO 方式来安装 PHP。如果需要安装 ApacheSSL 时,
你就更会感觉到DSO 的方便和快捷了。
DSO 字面的含义就是动态共享对象,详细的文档可以参考 Apache 的在线手册。在使用
 DSO 之前,你必须保证自己的 Apache 能支持 DSO ,因此,在编译PHP 时,应该使用 
 --with-apxs=/usr/local/apache/apxs 的参数,当然这里的 apxs 所在的路径需要根
 据你自己的安装路径来修改。

有可能你会遇到下面的错误报告:

configure: error: Sorry, I cannot run apxs. Either you need to install Perl 
or you need to pass the absolute path of apxs by using --with-apxs=/absolute/path/to/apxs

如果碰到这样的问题,一般是 Perl 已经安装并且已经指定了 apxs 的路径,但是 
Apache 不支持 mod_so。Apache 的缺省编译是支持 mod_so 的,除非你在编译时使用
了 --disable-module=so 参数。

最常见的问题就是在运行了 #./configure --with-apxs=/usr/local/apache/apxs 之
后看到下面的错误报告:

WARNING: Your /usr/local/apache/bin/apxs script is most likely broken. 

所以,我们有必要检查一下 apxs 这个脚本文件。在文件中查看下面的行:

my $CFG_CFLAGS_SHLIB = ' ';
my $CFG_LD_SHLIB = ' ';
my $CFG_LDFLAGS_SHLIB = ' ';
如果以上几行真是空的话,那么 apxs 就真的有问题了。正确的应该是:

my $CFG_CFLAGS_SHLIB = '-fpic -DSHARED_MODULE';
my $CFG_LD_SHLIB = 'gcc';
my $CFG_LDFLAGS_SHLIB = q(-shared);


Red Hat 的6.1 和 6.2 中的 apxs 也有问题,下面的行:

my $CFG_LIBEXECDIR = 'modules';
应该修改为:

my $CFG_LIBEXECDIR = '/usr/lib/apache';


得到正确的 apxs 后,就可以编译 PHP 了。经过 make 和 make install ,并且重启
Apache 后,我们又得到了一个错误消息:

API module structure `php4_module' in file /usr/local/apache/libexec/libphp4.so 
is garbled - perhaps this is not an Apache module DSO?


不要担心,我从来就没有碰到过这样的消息!因为我在开始新的编译之前总是使用
make clean ; make distclean 来清除以前编译后留下的“垃圾”。

但是需要指出的是,笔者在升级 PHP 4.0.4pl1 过程中,碰到的问题是在编译完毕,并
重新启动 Apache 之后碰到 “undefined symbol:uncompressed” 的报告。经过多次调
试发现是采用了 --with-mysql=/usr/local/mysql 的开关所致,后来采用 MySQL 源代
码版本,重新编译 MySQL 以后,再编译 PHP ,就没有这个问题了。所以,应该是 
论坛热门帖子: [lch203] 写得蛮好的linux学习笔记(10-21)
[黑马制造] 学习java的30个目标(10-19)
[笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19)
[udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18)
[沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18)
TAG标签: 安装 方式 编译 Apache my apxs 问题 DSO 面的 使用 需要

最新评论 共有0位网友发表了评论

发表评论

评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名:(注册)
密码:
验证码:
匿名发表

网站地图友情连接交流论坛网站投稿广告服务联系我们留言本站长统计
Some rights reserved: www.chmhome.com, 鄂ICP备07010232号 E-mail:chinakafei@live.com,QQ:552766
中国咖啡技术网(Chmhome):国外编程技术书籍,中文编程手册,经典编程文章,交流技术,技术软件下载,计算机论文,毕业论文.