此次编译安装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) |