Chinaunix首页 | 论坛 | 博客
  • 博客访问: 631889
  • 博文数量: 244
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 130
  • 用 户 组: 普通用户
  • 注册时间: 2016-06-27 09:53
个人简介

记录学习,记录成长

文章分类

全部博文(244)

我的朋友

分类: LINUX

2015-08-22 04:52:17

此次编译安装php的版本是
[root@www PHP]# ll
-rw-r--r-- 1 root root 16592647 Aug 20 12:51 php-5.5.28.tar.gz
1.  编译安装
[root@www lamp]# tar xzf php-5.5.28.tar.gz 
[root@www lamp]# cd php-5.5.28
[root@www php-5.5.28]#./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --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 --enable-xml  --enable-sockets --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt  --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2  
其中:
--with-mysql=/usr/local/mysql 指定mysql的安装路径;
--with-openssl 支持openssl功能;
--with-mysqli=/usr/local/mysql/bin/mysql_config mysql和php交互的接口,接口程序为mysql_config
--enable-mbstring 支持中文或其他非一个字节的语言;
--with-freetype-dir 支持字体库;
--with-jpeg-dir 支持jpeg图片格式;
--with-png-dir 支持png图片格式;
--with-zlib 支持zlib压缩;
--enable-xml 支持xml(扩展标记语言);
--with-libxml-dir=/usr 指定libxml的安装目录;
--enable-sockets 让PHP支持基于套接字的通信;
--with-apxs2=/usr/local/apache/bin/apxs 让PHP便已成为Apache的模块(原文:Build shared Apache 2.0 Handler module)
--with-mcrypt 额外的加密库,支持加密功能;
--with-config-file-path=/etc 指定php的配置文件存放目录;
--with-config-file-scan-dir=/etc/php.d Set the path where to scan for configuration   
files即/etc/php.d中的*.ini文件也都是PHP的配置文件;
--with-bz2 支持bz2压缩库;
--enable-maintainer-zts   这取决于Apache所使用的MPM,如果是prefork则可以省略,是worker或者event则要加上此项; 
当出现Thank you for using PHP说明编译成功;
[root@www php-5.5.28]# make
[root@www php-5.5.28]# make install >> /root/lamp/makelog/php.install.log
/usr/local/apache/build/instdso.sh SH_LIBTOOL='/usr/local/apr/build-1/libtool' libphp5.la /usr/local/apache/modules
libtool: install: warning: remember to run `libtool --finish /root/lamp/php-5.5.28/libs'
chmod 755 /usr/local/apache/modules/libphp5.so
[activating module `php5' in /etc/httpd/httpd.conf]
2.  为PHP提供配置文件
PHP的配置文件包括两部分:
a. /etc/php.ini
b. /eyc/php.d/*.ini
php包中提供了两个配置文件模板:
php.ini-development #用于开发环境
php.ini-production #用于生产环境
这里使用php.ini-production将其复制到/etc下命名为php.ini  
[root@www php-5.5.28]# cp php.ini-production /etc/php.ini
而且此次是将PHP编译为Apache模块了,所以不要启动服务,但是如果是fast-cgi模式的话则需要启动PHP服务,而要做成fast-cgi的话需要再编译时将--with-apxs2=/usr/local/apache/bin/apxs去掉再添加--enable-fpm就表示启用fpm功能就是fast-cgi模式了;
3.  将Apache与PHP结合起来
3.1  首先要让Apache能够理解,处理.php的文件;
编辑Apache主配置文件,添加两行
[root@www php-5.5.28]# vim /etc/httpd/httpd.conf
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
当能够处理php页面后,可在Apache的页面目录中添加php页面:
<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>
3.2  测试
[root@www php-5.5.28]# httpd -t
Syntax OK
[root@www php-5.5.28]# service httpd restart
Stopping httpd: [  OK  ]
Starting httpd: [  OK  ]
[root@www php-5.5.28]# cd /usr/local/apache/htdocs/
[root@www htdocs]# ll
-rw-r--r-- 1 root root 45 Jun 11  2007 index.html
[root@www htdocs]# vim index.html 
<html><body><h1>It works!</h1></body></html>
<?php
phpinfo()
?>
[root@www htdocs]# mv index.html index.php
测试成功
[root@www htdocs]# elinks --dump 192.168.85.128 | less
                                   It works!


   [1]PHP logo
   PHP Version 5.5.28
   System          Linux 2.6.32-431.el6.i686 #1 SMP Fri Nov 22
                   00:26:36 UTC 2013 i686
   Build Date      Aug 21 2015 03:45:34
                   './configure' '--prefix=/usr/local/php'
                   '--with-mysql=/usr/local/mysql' '--with-openssl'
                   '--with-mysqli=/usr/local/mysql/bin/mysql_config'
   Configure       '--enable-mbstring' '--with-freetype-dir'
   Command         '--with-jpeg-dir' '--with-png-dir' '--with-zlib'
                   '--with-libxml-dir=/usr' '--enable-xml' '--enable-sockets'
                   '--with-apxs2=/usr/local/apache/bin/apxs' '--with-mcrypt'
                   '--with-config-file-path=/etc'
                   '--with-config-file-scan-dir=/etc/php.d' '--with-bz2'
   Server API      Apache 2.0 Handler   以下省略.....
接下来测试与MYSQL的链接
[root@www htdocs]# vim index.php 
<html><body><h1>It works!</h1></body></html>
<?php
$conn=mysql_connect('localhost','root','');
if ($conn)
        echo "Connect Succes...";
else
        echo "Connect Failure...";
?>
[root@www htdocs]# elinks --dump 192.168.85.128 
                                   It works!


   Connect Succes...  此时还可以停止MYSQL服务在此测试
阅读(487) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~