LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1987|回复: 0

安装PHP后,不能启动Apache了

[复制链接]
发表于 2008-8-8 18:32:20 | 显示全部楼层 |阅读模式
为了和客户的环境一致,
公司需要搭建一个这样的环境:
FreeBSD-7.0 + MySql-5.1.23-rc + apache-1.3.41 + PHP-5.2.5

由于不知道如何通过ports或packages如何构筑上面这样的组合,
所以选择了通过源代码的方式进行安装。

在安装完PHP-5.2.5后,
启动apache时,
出现了一个错误,使得启动apache失败了,
请有经验的朋友指点迷津。

错误信息:

Syntax error on line 205 of /usr/local/apache/conf/httpd.conf:
Cannot load /usr/local/apache/libexec/libphp5.so into server:
/usr/local/apache/libexec/libphp5.so: Undefined symbol "ap_user_id"
/usr/local/apache/bin/apachectl start: httpd could not be started


我安装的步骤:
1、安装MySql-5.1.23-rc
根据http://dev.mysql.com/doc/refman/ ... l#installing-source进行安装。

  1. shell> pw groupadd mysql
  2. shell> pw useradd mysql -g mysql -s /usr/local/bin/bash -m
  3. shell> gunzip < mysql-VERSION.tar.gz | tar -xvf -
  4. shell> cd mysql-VERSION
  5. shell> ./configure --prefix=/usr/local/mysql-5.1.23-rc
  6. shell> make
  7. shell> make install
  8. shell> cp support-files/my-medium.cnf /etc/my.cnf
  9. shell> cd /usr/local/mysql-5.1.23-rc
  10. shell> bin/mysql_install_db --user=mysql
  11. shell> chown -R root  .
  12. shell> chown -R mysql var
  13. shell> chgrp -R mysql .
  14. shell> bin/mysqld_safe --user=mysql &
复制代码


Mysql安装后,可以正常使用。

2、安装apache-1.3.41
根据http://www.php.net/manual/en/install.unix.php的Apache 1.3.x on Unix systems部分(Example #1)进行安装。

  1. tar zxvf apache-1.3.41.tar.gz
  2. cd apache-VERSION
  3. ./configure --prefix=/usr/local/apache --enable-module=so
  4. make
  5. make install
复制代码


Apache安装后,可以正常通过/usr/local/apache/bin/apachectl start启动,也可以访问。
我停止apache服务后,继续安装PHP。


2、安装apache-1.3.41
根据http://www.php.net/manual/en/install.unix.php的Apache 1.3.x on Unix systems部分(Example #1)进行安装。

  1. tar zxvf php-5.2.5.tar.gz
  2. cd php-VERSION
  3. ./configure --prefix=/usr/local/php5 --with-mysql=/usr/local/mysql-5.1.23-rc --with-apxs=/usr/lcoal/apache/bin/apxs
  4. make
  5. make install
复制代码


PHP安装过程中,没有出现任何错误,很正常。
并且,PHP安装后,在/usr/local/apache/libexec/目录中出现了libphp5.so,
权限是755。
在httpd.conf中也已经自动追加了:

  1. LoadModule php5_module libexec/libphp5.so
复制代码


我继续照着文档的介绍进行了下面的操作:
1、cp php.ini-dist /usr/local/php5/lib/php.ini
2、在httpd.conf中追加:AddModule mod_php5.c
3、在httpd.conf中追加:AddType application/x-httpd-php .php .phtml
4、在httpd.conf中追加:AddType application/x-httpd-php-source .phps

结束一切操作后,
本以为可以顺利启动apache了,
但是,/usr/local/apache/bin/apachectl start后,
出现了下面的错误:

Syntax error on line 205 of /usr/local/apache/conf/httpd.conf:
Cannot load /usr/local/apache/libexec/libphp5.so into server:
/usr/local/apache/libexec/libphp5.so: Undefined symbol "ap_user_id"
/usr/local/apache/bin/apachectl start: httpd could not be started

通过google和baidu都没有找到合适的回答,
希望有经验的朋友给我指点一下。

PS:
当然,提供其他方法构筑上面那个组合也是可以的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表