手记

CentOS 6.x下源码编译安装LAMP环境搭建(下) 之 LAMP架构搭建(3)最终篇

本手记将承接上两篇《CentOS 6.x下源码编译安装LAMP环境搭建(上) 之 辅助软件的安装》和CentOS 6.x下源码编译安装LAMP环境搭建(下) 之 LAMP架构搭建(1)的Apache安装以及CentOS 6.x下源码编译安装LAMP环境搭建(下) 之 LAMP架构搭建(2)MySQL的最后一步关于PHP的源码编译安装
采用PHP5.6最新版本的PHP5.6.30进行源码编译安装

温馨提示:在此之前务必安装完成前面3篇手记的软件才可以安装PHP

PHP安装
先安装libXpm-devel

不然PHP或报错: make: * [ext/gd/gd.lo] Error 1

安装:

[root@centos6 ~]# yum -y install libXpm-devel

找出文件位置:

rpm -ql libXpm-devel

应该是这个位置,记住它,后面安装PHP要配置 --with-xpm-dir=/usr/lib64

/usr/lib64/libXpm.so

前面这么多操作是不是很麻烦,还有一个简单方法:

\cp -frp /usr/lib64/libltdl.so* /usr/lib/

\cp -frp /usr/lib64/libXpm.so* /usr/lib/

安装PHP

[root@centos6 LAMP]# cd /usr/local/LAMP

[root@centos6 LAMP]# tar -zxvf php-5.6.30.tar.gz

[root@centos6 LAMP]# cd ./php-5.6.30

[root@centos6 php-5.6.30]# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-mysql-sock=/tmp/mysql.sock --with-pdo-mysql=/usr/local/mysql --with-libxml-dir=/usr/local/libxml2 --with-png-dir=/usr/local/libpng --with-jpeg-dir=/usr/local/jpeg --with-freetype-dir=/usr/local/freetype --with-gd=/usr/local/gd2 --with-zlib-dir=/usr/local/zlib --with-mcrypt=/usr/local/libmcrypt --with-xpm-dir=/usr/lib64 --enable-soap --enable-mbstring=all --enable-sockets

[root@centos6 php-5.6.30]# make

[root@centos6 php-5.6.30]# make install

另附参数说明:

./configure \

--prefix=/usr/local/php

--with-config-file-path=/usr/local/php/etc //配置文件路径,指定php.ini位置

--with-apxs2=/usr/local/apache249/bin/apxs // apxs功能是使用mod_so中的//LoadModule指令,加载指定模块到apache,要求apache 要打开SO模块

--with-mysql=/usr/local/mysql //mysql安装目录,对mysql的支持

--with-mysqli=/usr/local/mysql/bin/mysql_config //mysqli文件目录,优化支持

--with-libxml-dir=/usr/local/libxml2 //打开libxml2库的支持

--with-png-dir=/usr/local/libpng //打开对png图片的支持

--with-jpeg-dir=/usr/local/jpeg //打开对jpeg图片的支持

--with-freetype-dir=/usr/local/freetype //打开对freetype字体库的支持

--with-gd=/usr/local/gd //打开gd库的支持

--with-zlib-dir=/usr/local/zlib //打开zlib库的支持

--with-mcrypt=/usr/local/libmcrypt //打开libmcrypt库的支持

--with-xpm-dir=/usr/lib64 //打开libXpm库的支持

--enable-soap

--enable-mbstring=all //多字节,字符串的支持

--enable-sockets //打开sockets 支持

复制配置文件

[root@localhost php-5.6.30]# cp php.ini-development /usr/local/php/etc/php.ini

测试 Apache 与 PHP的连通性,看 Apache 是否能解析 php 文件
vi /usr/local/apache2/etc/httpd.conf
在LoadModule模块中添加(如果存在请跳过):
写入一下这一行
AddType application/x-httpd-php .php .phtml.phps
(注意大小写)
*.phtml 为将 .phps 做为 PHP源文件进行语法高亮显示

重启 Apache 服务: /usr/local/apache2/bin/apachectl stop
/usr/local/apache2/bin/apachectl start

*Apache 无法启动,提示 cannotrestoresegmentprotafterreloc:Permissiondenied
错误,为 SELinux 问题,可关闭 SELinux 或者执行命令 chcon-ttexrel_shlib_t
/usr/local/apache2/modules/libphp5.so
验证

apache服务器的网站根目录为 /usr/local/apache2/htdocs/

vim /usr/local/apache2/htdocs/test.php
写入
<?php
phpinfo();
?>
:wq 保存退出

通过浏览器输入地址访问: 服务器ip地址 /test.php

date模块下可能会出现:

It is not safe to rely on the system’s timezon....

解决:

vim /usr/local/php/etc/php.ini
找到:
;date.timezone =
改成:
date.timezone = "Asia/Shanghai"
重启apache:
/usr/local/apache2/bin/apachectl stop
/usr/local/apache2/bin/apachectl start

安装完成 :)

0人推荐
随时随地看视频
慕课网APP

热门评论

赞赞赞!赞赞赞!赞赞赞!赞赞赞!

查看全部评论