PHP 0.前言   对于nginx和mysql的编译就告一段落了,今天的任务是完成PHP的编译安装
  
1.安装环境   更新依赖包
  安装epel源
1 yum install -y epel-release
  安装php所需要的组件
1 yum install  -y gcc bison  bison-devel  zlib-devel libmcrypt-devel mcrypt mhash-devel openssl-devel libxml2 libxml2-devel libcurl-devel bzip2-devel  readline-devel libedit-devel sqlite-devel jemalloc  jemalloc-devel 
  下载对应5.6版本压缩包
1 2 wget  http://cn2.php.net/distributions/php-5 .6 .40 .tar.gztar  -zxvf php-5 .6 .40 .tar.gz
  创建用户、用户组
1 2 groupadd www/sbin/ nologin www
2.编译安装   进入文件
  进行配置编译
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 ./configure  --prefix=/usr/local/php56  \--with-config-file-path=/usr/local/php56/etc  \--enable-inline-optimization  --disable-debug  \--disable-rpath  --enable-shared  --enable-opcache  \--enable-fpm  --with-fpm-user=www  \--with-fpm-group=www  \--with-mysql=mysqlnd  \--with-mysqli=mysqlnd  \--with-pdo-mysql=mysqlnd  \--with-openssl=/opt/project/ssl  \--with-gettext  \--enable-mbstring  \--with-iconv  \--with-mcrypt  \--with-mhash  \--enable-bcmath  \--enable-soap  \--with-libxml-dir  \--enable-pcntl  \--enable-shmop  \--enable-sysvmsg  \--enable-sysvsem  \--enable-sysvshm  \--enable-sockets  \--with-curl  --with-zlib  \--enable-zip  \--with-bz2  \--with-freetype-dir  \--with-readline  \--with-c  \--with-gd  \--with-jpeg-dir 
  运行后出现报错
  这个错误通常是由于缺少libpng库或者版本不兼容导致的。可以尝试重新安装libpng库,或者更新到最新版本。很明显我是没有安装的,使用该指令进行安装(后面遇到了几个库的问题,都是按照命令执行按照就行了)
1 2 sudo yum install  libpng-develinstall  freetype-devel
  最终编译成功,接下来就是安装命令
  很好,又歇逼了,这个错误通常是由于缺少OpenSSL库或者版本不兼容导致的。这里是因为我安装的openssl版本是1.1。1,但是php5.不支持openssl1.1版本以上的情况,尝试重新安装低版本即可OpenSSL库, 参考了很多centos系统对openssl降级的操作和使用,用 openssl version 显示的版本却永远是1.1.1,openssh的旧版1.0.2也还是装不上,即使我把1.0.2装在新目录,openssh配置openssl的目录是新目录,读取1.1.1的openssl,真的是降不了一点(叹气.jpg)
  这里我换了个思路,就是下载旧版的openssl版本,通过–with-openssl=/opt/project/ssl \(将上文的相关编译配置也进行了修改),这样子调用到openssl环境的时候就直接使用旧版本即可,最后make&&make install
 
3.修改配置   添加配置文件,添加开机自启动,启动php
1 2 3 4 5 6 7 8 9 10 11 /home/ lfs/桌面/ php-5.6 .40 /php.ini-development /u sr/local/ php56/etc/ php.ini/home/ lfs/桌面/ php-5.6 .40 /php-fpm.conf.default /u sr/local/ php56/etc/ php-fpm.conf/home/ lfs/桌面/ php-5.6 .40 /sapi/ fpm/init.d.php-fpm / etc/init.d/ php-fpm/etc/i nit.d/php-fpm
  (这里是由于设置了汉语界面,所以lfs 的几个文件都变成了中文,但是安装的内容和运行的程序都在文件之外,会保证执行程序的时候不会有中文路径)
 
4.环境变量   接下来添加环境变量
1 2 3 4 5 6 vi /etc/ profile$PATH :/usr/ local/php56/ bin/etc/ profile
  最终使用php –v查看版本编译安装是否完成上图就是安装成功的结果。