王朝网络
分享
 
 
 

在Apache上以 DSO 方式安装 PHP

王朝php·作者佚名  2006-12-16
宽屏版  字体: |||超大  

如果以静态方式安装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 ,就没有这个问题了。所以,应该是MySQL 的库没有进入编译路径所致。

需要注意的是,编译Apache 的时候,不要使用 --activate-module=src/modules/php4/libphp4.a 参数,因为这样的话,PHP4 就是以静态方式来安装了。

恭喜你,安装成功,以后 PHP 有新的补丁/版本出来,就不需要重新编译 Apache 了。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有