24_02_2_编译安装PHP

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
#./configure --prefix=/usr/local/php --with-config-file-path=/etc  --with-openssl --with-mysql=/usr/local/mysql   --with-mysqli=/usr/local/mysql/bin/mysql_config 
--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)
 
#cp php.ini-production /etc/php.ini   (配置文件在解压目录里,当时找了半天~~~)
#vim /etc/httpd/httpd.conf
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;(这个是教程上说的,不过我是源码编译,没有用到这个);
    # ./configure --prefix=/usr/local/mcrypt
    # make && make install
 
我在编译时按照上面的编译,freetype我是yum install freetype,jpeg 我是yum install openjpeg png我是yum install libpng-devel,zlib我是yum install zlib zlib-devel  
libxml 我是在官网下载的libxml2,然后编译安装:
# ./configure --prefix=/usr/local/libxml2
#make && make install
如果使用RPM包时,需要安装libxml2-devel
 
 bz2 我是yum install bzip2 bzip2-devel  mcrypt我是官网下载libmcrypt编译安装。
 
##################################################################################################        
                相隔一年,第二次编译时:
#./configure --prefix=/usr/local/php --with-config-file-path=/etc  --with-openssl --with-mysql=/usr/local/mysql   --with-mysqli=/usr/local/mysql/bin/mysql_config
--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
    #yum install bzip2 bzip2-devel
 
configure:error:Please reinstall libmcrypt
    在默认的yum源中没有找到包,所以去官网下载libmcrypt.gz,
        # ./configure --prefix=/usr/local/mcrypt
        # make && make install
    额,竟然提示要2.5.6以上版本的,,重来即可。。
    
    如果提示感谢你使用PHP,则意味着配置成功!!    
        # make 
    
make: *** [ext/fileinfo/libmagic/apprentice.lo] Error 1
解决方法:
    http://wudi.in/archives/284.html
    由于内存小于1G所导致.
    添加:    --disable-fileinfo   
    #make && make install
这次竟然没有提示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开始它就是默认的了;

1
#./configure --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值