• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

PHP5在Ubuntu下的安装问题

发布: 2007-6-21 12:06 | 作者:   | 来源:   | 查看: 111次 | 进入软件测试论坛讨论

领测软件测试网

   
  以前偷懒,redhat上都是用rpm装apache, PHP, MySQL,而在Ubuntu上都是用apt-get安装的。。
但是最近因为想用apache2.2的proxy-ajp,奈何又没有release的安装包,只好硬着头皮自己编译。
编译apache2.2.0的时候很简单,就是把

tar xjf httpd-2.2.0.tar.bz2
把包解开,然后在httpd-2.2.0文件夹里
./configure --prefix=/usr/local/apache2 --enable-proxy --enable-proxy-ajp -enable-proxy-balancer --enable-so
再然后
make && make install
就搞定了。。其中--prefix是制定apache的安装路径,proxy几个是给tomcat连接用的,so是给PHP用的。。
但是紧接着在编译php的时候碰到了钉子!
./configure --with-apxs2=/usr/local/apache2/bin/apxs
她提示:hecking lex output file root... ./configure: line 3246: lex: command not found configure: error: can't find output from lex; giving up
后来查阅了许多资料之后发现,,人家在redhat下编译也遇到了同样的问题。。她需要一个叫做flex的东西。但是解决方案只给出了安装一个flex的rpm,那在Ubuntu下应该怎么办呢?不怕不怕,有新立得软件包管理器呢,关键字flex,很快就查到了。全称为A fast lexical analyzer generator.具体干什么的我也只是一知半解。。反正Ubuntu的新立得软件包管理器里面这么描述来的:
flex is a tool for generating scanners: programs which recognized lexical
patterns in text. flex reads the given input files for a description of a
scanner to generate. The description is in the form of pairs of regular
expressions and C code, called rules. flex generates as output a C source
file, lex.yy.c, which defines a routine yylex(). This file is compiled
and linked with the -lfl library to produce an executable. When the
executable is run, it analyzes its input for occurrences of the regular
expressions. Whenever it finds one, it executes the corresponding C code.

The behaviour of Flex has undergone a major change since version
2.5.4a; Flex scanners are now reenterant, you may have multiple
scanners in the same program with differing sets of defaults, and
they play nicer with modern C and C++ compilers. The Flip side is
that Flex no longer conforms to the POSIX lex behaviour, and the
scanners require conforming implementations when flex is used in ANSI
C mode. The package flex-old provides the older behaviour.
直接
sudo apt-get install flex
安装成功。。重新编译。。但是紧接着又遇到了问题。。
configure: error: xml2-config not found. Please check your libxml2 installation.
吃一堑长一智。。这下顺利多了。。
sudo apt-get install libxml2
//这个包其实默认已经装了。。不过如果没有更新,,她还是会正常进行下去:共升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 0 个软件未被升级 。
sudo apt-get install libxml2-dev
安装完成后,开始编译。。123
./configure --with-apxs2=/usr/local/apache2/bin/apxs
make && make install
很快就搞定了。。然后把php.ini从安装目录拷过去。。
cp php.ini-dist /usr/local/lib/php.ini

最后修改httpd.conf在里面添加下面几行:
LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps

启动apache,
/usr/local/apache2/bin/apachectl -k start
收工!!
但是还要注意是在httpd.conf中所有含有Order、Allow和Deny的行都要dd掉,不然用“:!bin/apachectl -t”检查的时候会报错。当然了。。httpd服务也是起不起来的。具体原因还没有研究出来。。等有空的时候再说吧。。反正是删掉就行了。。

在此之前,我也曾经想过装FC-5了事。。因为FC-5只要在安装的时候点点鼠标。她就会把apache2.2 tomcat5.5 php5通通都装起来,并且整合好协调工作。。但是因为有很多网友说FC-5还存在着很多问题。。所以就作罢了。。现在想想还是自己编译好。。不用受制于任何操作系统。。UNIXLinux, BSD。。。爱用哪个就用哪个。。。哈哈

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网