pmfind.net是一个比较方便的下载软件的网站
编译安装php
php-mbstring 用来表示中文和多字节的;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
| --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr/local/libxml2 --enable-xml --enable-sockets --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt=/usr/local/mycrypt --with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-maintainer-zts(prefork不需要,其他MPM需要这项)(--with-gd --with-soap)
AddType application/x-httpd-php .php Addtype application/x-httpd-php-source .phps 还有DirectoryIndex 把index.html改为index.php 对于这个是指定你的主页是动态的; --with-mcrypt 需要安装libmcrypt.rpm libmcrypt-devel.rpm和mhash.rpm mhash-devel.rpm;(这个是教程上说的,不过我是源码编译,没有用到这个); 我在编译时按照上面的编译,freetype我是yum install freetype,jpeg 我是yum install openjpeg png我是yum install libpng-devel,zlib我是yum install zlib zlib-devel libxml 我是在官网下载的libxml2,然后编译安装:
如果使用RPM包时,需要安装libxml2-devel bz2 我是yum install bzip2 bzip2-devel mcrypt我是官网下载libmcrypt编译安装。
相隔一年,第二次编译时:
--enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr/local/libxml2 --enable-xml --enable-sockets --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt=/usr/local/mcrypt --with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-maintainer-zts confiure:error:Please reinstall the BZip2 distribution configure:error:Please reinstall libmcrypt 在默认的yum源中没有找到包,所以去官网下载libmcrypt.gz, 额,竟然提示要2.5.6以上版本的,,重来即可。。 如果提示感谢你使用PHP,则意味着配置成功!! make: *** [ext/fileinfo/libmagic/apprentice.lo] Error 1 解决方法: http://wudi.in/archives/284.html 由于内存小于1G所导致. 添加: --disable-fileinfo 这次竟然没有提示jpeg/png的安装,,,,这个,自己看着办吧。 编写这个php-test.php <?php phpinfo(); ?> <?php $conn=mysql_connect('localhost','root','password'); if ($conn) echo "Success"; else echo "Failure"; ?> 重启httpd,访问,如果显示,则编译成功。。
|
说明:
1、为了支持apache的worker或event这两个MPM,编译使用了–enable-maintainer-zts;
2、如果使用了PHP5.3以上的版本,为了链接Mysql数据库,可以指定mysqlid,这样在本机就不需要先安装Mysql或者Mysql开发包了,
mysqlnd从PHP5.3开始使用,可以编译时绑定到它(而不用和具体的Mysql客户端库形成依赖),但从PHP5.4开始它就是默认的了;