apache php 整合的问题。。。
我按照以下操作步骤进行的:
编译apache:
#./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite --enable-module-so --enable-ssl
make make install
编译php
#./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/lib --enable-track-vars --with-xml
make make install
#cp /tooldir/php-4.4.0/php.ini-dist /etc/php/php.ini
vi httpd.conf
添加
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .php3
重起apache
#echo "<?phpinfo();?>" >index.php
#chmod 775 index.php
结果浏览器打开http://ip/index.php
是要我下载这个index.php文件,换成静态页面没有问题。。。
检查了下:/etc/httpd/modules/libphp4.so 这个文件不存在。。。
在/usr/local/apache2/modules/下面找到这个文件,拷贝过去
重起apache后提示libphp4.so 的版本有问题:
#apachectl start
httpd: module "/home/pty/php-4.4.2/sapi/apache2handler/sapi_apache2.c" is not compatible with this version of Apache.
Please contact the vendor for the correct version.
那位大哥帮帮我,我一直用freebsd 的ports安装,变懒了。。。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
怎么安这么乱,大哥比我胆子太很多!!!!
也不看看 都 是用什么 就往上打呀!!!
我也是个菜鸟
下面是我前些日子安装 WEB服务的 心得,你看看吧!
系统安装,也更因为是个菜鸟,所以,安装很困难,起初根据网上一些文章在我的red hat 9.0 上安装测试,不过,测试了安装php4.3.X 和 php5.0.X都没有成功,最后,根据其他人的文章,自己搞了将近N天左右,终于安装上了,下面就我安装中出现的错误和过程写出来和大家分享,以免有像我一样的菜鸟们样我一样。
首先,服务器GCC要有,不然什么都不能做.可以用gcc -v来查看是否安装了GCC,
#gcc -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2.3/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --host=i386-redhat-linux
Thread model: posix
gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-34)
有以上类似信息说明已有GCC,没有就现安装吧,至于如何安装,我就不说了,可以用光盘安装或者是下载源文件都可以,当然你的版本不一定是3.2.3!
请下载以下所有的东西:
httpd-2.0.X.tar.gz
mysql-4.0.26.tar.gz
php-5.1.2.tar.gz
libxml2-2.6.22.tar.gz (php5.0以上的 要用 libxml2-2.5.10以上的)
[/usr/local] #tar -zxvf mysql-4.0.26.tar.gz //解压
[/usr/local/mysql-4.0.26] #cd mysql-4.0.26
[/usr/local/mysql-4.0.26] #./configure --prefix=/usr/local/mysql //指定安装目录
最后能看到谢谢那句就可以MAKE了
[/usr/local/mysql-4.0.26] #make
[/usr/local/mysql-4.0.26] #make install
[/usr/local/mysql-4.0.26] # cd /usr/local/mysql
[/usr/local/mysql] #groupadd mysql
[/usr/local/mysql] #useradd mysql mysql
[/usr/local/mysql] #/usr/local/mysql/scripts/mysql_install_db //初始化脚本mysql_install_db
[/usr/local/mysql] #chown -R root /usr/local/mysql
[/usr/local/mysql] #chown -R mysql /usr/local/mysql/var
[/usr/local/mysql] #chgrp -R mysql /usr/local/mysql
[/usr/local/mysql] # /usr/local/mysql/bin/mysqld_fafe --user=mysql &
测试
[/usr/local/mysql] #mysqladmin version
在安装 PHP 前 先安装 libxml2-2.6.22 因为 php5.0以上版本要用 libxml2-2.5.10以上的
[/usr] #tar -zxvf libxml2-2.6.22.tar.gz
[/usr] #cd libxml2-2.6.22
[/usr/libxml2-2.6.22] # ./configure //默认安装,要不PHP安装时找不到libxml2-2.6.22
[/usr/libxml2-2.6.22] # make
[/usr/libxml2-2.6.22] # make install
安装apache,(php5安装环境需要apache2.0.46以上版本,下载的时候注意!)
[/usr/local/] #tar zxvf httpd-2.0.50.tar.gz
[/usr/local/] #cd httpd-2.0.50
[/usr/local/http-2.0.50] #./configure --prefix=/usr/local/apache2 --enable-module=so
[/usr/local/http-2.0.50] #make
[/usr/local/http-2.0.50] #make install
安装php5:
[/usr/local/] # tar -zxf php5-200411260130.tar.gz
[/usr/local/] # cd php5-200411260130
[/usr/local/php5-200411260130 ] # ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs -with-mysql=/var/lib/mysql
[/usr/local/php5-200411260130 ] # make
[/usr/local/php5-200411260130 ] # make install
[/usr/local/php5-200411260130 ] # cp php.ini-dist /usr/local/php/lib/php.ini
复制PHP.INI文件到正确位置
在PHP目录下运行
#cp php.ini-dist /usr/local/php/lib/php.ini
编辑apache配置文件httpd.conf
#vi /usr/local/apache2/conf/httpd.conf
还有找到
DirectoryIndex index.html index.html.var
在后面加 index.php 让它把index.php做为默认页
启动apache
# /usr/local/apache2/bin/apachectl start
写一个测试页放到你网页目录下.访问就应该可以看到php的版本等信息了
[ 本帖最后由 w3231717 于 2006-3-15 21:20 编辑 ]
这个似乎是放在/usr/local/lib目录下吧
按照你的说法有很多错误, 有很多安装时的小错误
1. 编译apache:
#./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite --enable-module-so --enable-ssl
make make install
不用加这么多选项, 只需加 --enable-so --enable-ssl
编译php
#./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/lib --enable-track-vars --with-xml
make make install
这里没有错误, PHP.INI文件设置在/usr/local/lib下
#cp /tooldir/php-4.4.0/php.ini-dist /etc/php/php.ini
晕倒, 文件拷贝到哪里干么?
vi httpd.conf
添加
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .php3
还是将一和三两行合并吧, AddType application/x-httpd-php .php .php3 .phtml
楼主还是先从基本的学习下, 再搞为好, 错太多了.
./configure php时用不着加那么多东西
请仔细参看./configure --help
用源代码方式重新安装apache与php
那位能帮我下,万分感谢!
我写错了,我php.ini 放在/usr/local/php/lib/php.ini
启动后故障依旧
#rpm -qa |grep httpd
redhat-config-httpd-1.0.1-18
httpd-2.0.40-21
这样安装以后在httpd.conf 里面没有
LoadModule php4_module modules/libphp4.so
这句话。。。。
手工添加后说找不到文件,从/usr/local/apache2/modules 这个目录拷贝过去libphp4.so 这个文件,启动后又说版本不对。。。
晕了
[ 本帖最后由 summerstone 于 2006-3-15 07:26 编辑 ]
php.ini的位置也不对
apache用的什么版本