源码编译安装PHP Version 5.6.30------踩了无数坑,重装了十几次服务器才会的,不容易啊!

Posted 搬砖小伙子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了源码编译安装PHP Version 5.6.30------踩了无数坑,重装了十几次服务器才会的,不容易啊!相关的知识,希望对你有一定的参考价值。

1 环境准备

yum install gcc bison bison-devel zlib-devel libmcrypt-devel mcrypt mhash-devel openssl-devel libxml2-devel libcurl-devel bzip2-devel readline-devel libedit-devel sqlite-devel jemalloc jemalloc-devel

yum install libpng
yum install libpng-devel
yum -y install libjpeg-devel
yum install freetype-devel

cd /usr/local/src

wget http://cn2.php.net/distributions/php-5.6.30.tar.gz

tar zvxf php-5.6.30.tar.gz

cd php-5.6.30

groupadd www

useradd -g www -s /sbin/nologin www

 

2 编译安装 (##编译参数)

./configure --prefix=/usr/local/php \\
--with-apxs2=/usr/local/apache/bin/apxs \\
--with-config-file-path=/usr/local/php/etc \\
--enable-inline-optimization --disable-debug \\
--disable-rpath --enable-shared --enable-opcache \\
--enable-fpm --with-fpm-user=www \\
--with-png-dir \\
--with-freetype-dir \\
--with-jpeg-dir \\
--with-gd \\
--with-fpm-group=www \\
--with-mysql=mysqlnd \\
--with-mysqli=mysqlnd \\
--with-pdo-mysql=mysqlnd \\
--with-gettext \\
--enable-mbstring \\
--with-iconv \\
--with-mcrypt \\
--with-mhash \\
--with-openssl \\
--enable-bcmath \\
--enable-soap \\
--with-libxml-dir=/usr/ \\
--enable-pcntl \\
--enable-shmop \\
--enable-sysvmsg \\
--enable-sysvsem \\
--enable-sysvshm \\
--enable-sockets \\
--with-curl --with-zlib \\
--enable-zip \\
--with-bz2 \\
--with-readline

 

##参数解释
""" 安装路径 """
--prefix=/usr/local/php56 \\
""" php.ini 配置文件路径 """
--with-config-file-path=/usr/local/php56/etc \\
""" 优化选项 """
--enable-inline-optimization \\
--disable-debug \\
--disable-rpath \\
--enable-shared \\
""" 启用 opcache,默认为 ZendOptimizer+(ZendOpcache) """
--enable-opcache \\
""" FPM """
--enable-fpm \\
--with-fpm-user=www \\
--with-fpm-group=www \\
""" MySQL """
--with-mysql=mysqlnd \\
--with-mysqli=mysqlnd \\
--with-pdo-mysql=mysqlnd \\
""" 国际化与字符编码支持 """
--with-gettext \\
--enable-mbstring \\
--with-iconv \\
""" 加密扩展 """
--with-mcrypt \\
--with-mhash \\
--with-openssl \\
""" 数学扩展 """
--enable-bcmath \\
""" Web 服务,soap 依赖 libxml """
--enable-soap \\
--with-libxml-dir \\
""" 进程,信号及内存 """
--enable-pcntl \\
--enable-shmop \\
--enable-sysvmsg \\
--enable-sysvsem \\
--enable-sysvshm \\
""" socket & curl """
--enable-sockets \\
--with-curl \\
""" 压缩与归档 """
--with-zlib \\
--enable-zip \\
--with-bz2 \\
""" GNU Readline 命令行快捷键绑定 """
--with-readline

 

3. 编译安装

make && make install

如下图 ,不抱任何错误

 

4.配置服务

配置文件

cp php.ini-development /usr/local/php/etc/php.ini

php-fpm 服务
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm

chkconfig --add php-fpm
chkconfig on php-fpm

netstat -nltp|grep 9000
service php-fpm start
 
出现下图 Starting php-fpm done时表示安装成功
 
5.环境变量
PATH=$PATH:/usr/local/php/bin
export PATH
 
6.配置httpd支持php
vim /usr/local/apache/conf/httpd.conf
搜索ServerName,把#ServerName www.example.com:80前面的#号去掉

a.找到:

AddType application/x-gzip .gz .tgz
在其下面添加:
AddType application/x-httpd-php .php //添加支持对php脚本解析

b. 找到:
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
把中间那一行改为:
DirectoryIndex index.html index.htm index.php //增加对php的索引

c.找到

<Directory />
  AllowOverride None
  Require all granted
</Directory>

d.找到/添加

LoadModule php5_module   modules/libphp5.so

LoadModule php5_module modules/libphp5.so在httpd.conf中为什么会有这行代码

原因:
在编译php时,编译参数--with-apxs2=/usr/local/apache/bin/apxs\\

 

7.重启apache ,

cd /usr/local/apache/bin/

./apachectl restart

到此为止php已经编译完成了。

接下来就是配置虚拟主机了

在/usr/local/apache/conf/httpd.conf中,如下配置

9.当把apache,mysql ,php全部编译完成之后就出现

现在.lamp环境正式搭建完成....哈哈哈哈哈哈哈哈哈

 

 

以上是关于源码编译安装PHP Version 5.6.30------踩了无数坑,重装了十几次服务器才会的,不容易啊!的主要内容,如果未能解决你的问题,请参考以下文章

php5.6编译安装apache

编译安装php

源码安装php-5.6.30.tar.gz

LAMP环境搭建之php安装

LNMP环境搭建之php安装

安装PHP5和PHP7