ubuntu8.04中编译安装php(apache/php使用apt-get安装)

4 篇文章 0 订阅
本来在ubuntu中安装lamp是非常简单的,直接使用新立得软件管理工具-->Edit-->Mask Package as Task,然后选择lamp server即可。或者使用apt-get install一个一个安装也是挺简单的。但是因为需要使用php中的信号量、系统消息等功能,所以需要手动编译安装php。
当然,如果apache、mysql如果都是自己编译安装的话,也比较简单,以为所有的文件都在一个文件夹中,找起来好找,而且apache的配置方式是传统的方式,配置起来也是轻车熟路,网上也有很多文章。
但因为我的apache2和mysql5都是使用apt-get install安装的,所以安装php5时还是遇到了一点小小的麻烦。

下面安装php5编译安装的过程:

1. 解压

2. configure
为了能把php编译到apache中,需要添加--with-apxs2=/opt/apache/bin/apxs。而默认的apache是没有这个文件的,所以需要安装apache2-threaded-dev,安装完之后apxs在/usr/bin/中;
为了能在php中添加mysql功能,必须安装libmysqlclient15-dev,从而在/usr/include/mysql/中能找到mysql.h。
./configure --prefix=/usr/local/php
--with-mysql=/usr/include/mysql
--with-apxs2=/usr/bin/apxs
--with-config-file-path=/usr/local/php/etc
--enable-sysvsem
--enable-sysvshm
--enable-sysvmsg

3. make

4. make install
出现如下错误:
apxs:Error: Activation failed for custom /etc/apache2/httpd.conf file..
apxs:Error: At least one `LoadModule' directive already has to exist..
make: *** [install-sapi] Error 1
经过google,发现是因为默认安装的apache配置文件httpd.conf中是空的,没有任何LoadModule,从而导致make install不能通过。解决办法是采取欺骗的方法,
在httpd.conf中添加如下注释,假装加在模个模块:
# Dummy LoadModule directive to aid module installations
# LoadModule dummy_module /usr/lib/apache2/modules/mod_dummy.so
之后再make install,通过。

5. 重启服务器:
sudo apache2ctl -k restart

6. 测试
在/var/www/中添加index.php,如下
  1. <?php
  2. echo phpinfo();
  3. ?>
在浏览器中输入http://localhost/index.php,显示出php和apache的信息。OK!

注:在make install通过后,我本以为还要像以前安装apache+php一样,修改httpd.con以支持.php,.phtml文件。但加上如上语句后,反倒使服务器不能正常工作。
#AddType application/x-httpd-php .php .phtml 
#AddType application/x-httpd-php-source .phps
后来,注释到这两句话之后,服务器正常工作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值