源码编译安装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
PATH=$PATH:
/usr/local/php/bin
export
PATH
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环境正式搭建完成....哈哈哈哈哈哈哈哈哈