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 useradd -g www -s /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-devel sudo yum install 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 cp /home/ lfs/桌面/ php-5.6 .40 /php.ini-development /u sr/local/ php56/etc/ php.ini cp /home/ lfs/桌面/ php-5.6 .40 /php-fpm.conf.default /u sr/local/ php56/etc/ php-fpm.conf cp /home/ lfs/桌面/ php-5.6 .40 /sapi/ fpm/init.d.php-fpm / etc/init.d/ php-fpm chmod +x /etc/i nit.d/php-fpm chkconfig --add php-fpm chkconfig php-fpm on service php-fpm start
(这里是由于设置了汉语界面,所以lfs 的几个文件都变成了中文,但是安装的内容和运行的程序都在文件之外,会保证执行程序的时候不会有中文路径)
4.环境变量 接下来添加环境变量
1 2 3 4 5 6 vi /etc/ profile PATH=$PATH :/usr/ local/php56/ bin export PATH soured /etc/ profile
最终使用php –v查看版本编译安装是否完成上图就是安装成功的结果。