设为首页 收藏本站
查看: 909|回复: 0

[经验分享] 安装PHP5,安装PHP7

[复制链接]

尚未签到

发表于 2018-12-13 07:51:52 | 显示全部楼层 |阅读模式
  笔记内容:

  •   11.10/11.11/11.12 安装PHP5
  •   11.13 安装PHP7
  笔记日期:2017.9.28
  

  11.10/11.11/11.12 安装PHP5

  PHP主流版本是5.x/7.x,不过大部分企业都是使用着PHP5.x版本,因为有些程序是基于5.x版本开发的,如果使用7.x版本可能就会出问题,7.x是这两年才出来的,这两个版本区别比较大,7.x的性能要比5.x版本有所提升。
  现在先介绍如何安装5.6版本的PHP,在这里介绍的是编译源码包的安装方式,安装PHP之前必须要安装了mysql和apache:
  第一步,先下载源码包到/usr/local/src/目录下:
  下载地址:
  http://cn2.php.net/distributions/php-5.6.30.tar.gz

  

  第二步,解包:
  tar -zxvf php-5.6.30.tar.gz
  

  第三步,进入到php-5.6.30目录下,使用configure命令检查编译环境和配置参数:
  命令:
  ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2.4/bin/apxs --with-config-file-path=/usr/local/php/etc  --with-mysql=/usr/local/mysql --with-pdo-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif

  

  主要参数介绍:
  --with-apxs2:这是Apache的一个工具,可以自动帮助我们去把扩展的模块放进Apache里,并且可以自动得在配置文件里添加模块的配置信息,所以这就是为什么要先安装Apache的原因。
  --with-config-file-path:是用于指定配置文件所在路径,PHP的配置文件名称是:php.ini
  --with-mysql:指定mysql的安装路径;--with-pdo-mysql和--with-mysqli:这是指定mysql的驱动或者说是库,因为想要PHP与mysql交互通信得编译出支持它的模块来。没有驱动的话,php是无法访问mysql的,就像你网卡没有安装驱动,你就无法使用网卡上网一样。
  后续的参数都是指定php所需要的模块
  

  检查编译环境的过程中,我这里出现了一个错误,缺少libxml2包:

  

  解决办法:
  模糊搜索一下,安装需要的包:


  

  安装完之后继续执行检查环境的命令,我这里又出现了一个错误,缺少OpenSSL包:

  

  解决办法:
  同样的安装这个包就可以了:

  

  然后再次执行configure时又出现了一个错误,这次是缺少BZip2包:

  

  解决办法,安装BZip2包:

  

  这次是缺少了libjpeg包:

  

  解决办法,安装libjpeg包:
  yum install -y libjpeg-devel
  

    缺少png包:

    
  安装png包:
  yum install -y libpng-devel
  

  缺少freetype包:

  

  安装freetype包:
  yum install -y freetype-devel
  

  缺少mcrypt包:

  

  这一步如果你没有安装epel-release扩展源的话要先安装这个扩展源:
  yum install -y epel-release
  

  然后再安装libmcrypt包:
  yum install -y libmcrypt-devel
  

  最后出现这样一个提示就是成功了:

  

  然后就是make && make install,编译安装了:


  

  成功编译安装后,就可以ls一下php的目录,可以看到以下几个目录:

  

  

  核心的二进制文件在bin目录下,可以看到php有36M的大小:

  apache下的php模块文件有37M,php就是通过这个libphp5.so文件与apache实现结合在一起的:

  

  查看php里所加载的模块,这些模块都是静态的:

  

  这时候查看Apache的模块信息就可以看到php5的模块了:

  

  Apache就是通过这个模块去调用php的文件的,这个模块非常的重要,这个模块出现问题或者被删除了,Apache就无法调用php的文件了。
  

  现在去查看Apache的配置文件就可以发现多了一行配置内容:
  vi /usr/local/apache2.4/conf/httpd.conf

  

  这是apxs2自动添加的模块信息,如果不想使用这个模块加上#号注释掉就可以了。
  

  php的-i 选项可以查看到php的相关信息,编译参数、安装路径等等:

  从php的相关信息中可以看到,没有加载任何的配置文件,因为/usr/local/php/etc目录下没有php.ini这个文件:

  

  所以我们需要在/usr/local/src/php-5.6.30目录下,拷贝php5的配置文件到/usr/local/php/etc目录下:

  

  现在再查看php的相关信息就可以看到加载了配置文件:

  

  

  

  

  

  11.13 安装PHP7
  


  安装PHP7和安装PHP5的操作步骤基本上没什么差别,现在要介绍的如何安装7.1版本的PHP,在这里介绍的还是编译源码包的安装方式:
  第一步,先下载源码包到/usr/local/src/目录下:
  下载地址:
  http://cn2.php.net/distributions/php-7.1.6.tar.bz2

  

  第二步,解包并进入到php-7.1.6目录下:
  tar -jxvf php-7.1.6.tar.bz2
  cd php-7.1.6/
  

  第三步,使用configure命令检查编译环境和配置参数:
  命令:
  ./configure --prefix=/usr/local/php7 --with-apxs2=/usr/local/apache2.4/bin/apxs --with-config-file-path=/usr/local/php7/etc  --with-pdo-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif

  在PHP7的参数里不需要指定--with-mysql参数了。
  

  因为之前安装PHP5的时候已经把需要的包都安装了,所以基本上不会出现少包的情况:

  

  然后就是使用make && make install,编译安装了:
  

  在一台机器上是可以同时存在两个php的,但是要在apache里指定好调用的哪一个php模块,以免发生冲突。
  

  成功安装:

  

  可以看到Apache的模块目录下多了个libphp7.so文件:



  

  修改Apache的配置文件,让它调用php7:
  vim /usr/local/apache2.4/conf/httpd.conf

  可以看到有php5和php7的配置信息,使用php7的话,就把php5那行注释掉就可以了:

  

  

  扩展
  php中mysql,mysqli,mysqlnd,pdo到底是什么:
  http://blog.csdn.net/u013785951/article/details/60876816

  

  查看编译参数:
  http://ask.apelearn.com/question/1295
  

  

  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-650697-1-1.html 上篇帖子: PHP获取指定日期 下篇帖子: 限定某个目录禁止解析php,限制user_agent,php相关配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表