本手记将承接上两篇《CentOS 6.x下源码编译安装LAMP环境搭建(上) 之 辅助软件的安装》和CentOS 6.x下源码编译安装LAMP环境搭建(下) 之 LAMP架构搭建(1)的Apache安装以及CentOS 6.x下源码编译安装LAMP环境搭建(下) 之 LAMP架构搭建(2)MySQL的最后一步关于PHP的源码编译安装
采用PHP5.6最新版本的PHP5.6.30进行源码编译安装
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
安装完成 :)
共同学习,写下你的评论
评论加载中...
作者其他优质文章