当前位置: 首页 > news >正文

安装PHP5,安装PHP7

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

安装PHP5

  • PHP官网www.php.net
  • 当前主流版本为5.6/7.1
  • cd /usr/local/src/
  • wget http://cn2.php.net/distributions/php-5.6.30.tar.gz
  • tar zxvf php-5.6.30.tar.gz
  • cd php-5.6.30
  • ./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
  • make && make install
  • cp php.ini-production /usr/local/php/etc/php.ini

目前PHP主流的版本为5.6或7.1版本,现在很多企业是使用PHP 5 的版本,新出来的PHP7性能有很大提升。

安装PHP5

首先切换到cd /usr/local/src/目录下

下载php5.6 的压缩包

234902_E1h3_3708406.png

解压php5.6的压缩包

235037_jR4y_3708406.png

切换目录到php-5.6.30/目录下

235141_iPV6_3708406.png

编译PHP5.6

235232_cpe0_3708406.png

--prefix=/usr/local/php,安装目录

--with-apxs2=/usr/local/apache2.4/bin/apxs,它是apache的一个工具,自动的帮你去把扩展的模块放到Apache中的modules目录里,并且在它的配置文件里加上一行load module

--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 ,指定mysql的路径

--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,指定PHP需要的模块

配置完成之后,用echo $?来检查是否有错,为1表示有错误

001359_4QRS_3708406.png

错误一:缺少 libxml2 库

001520_EyZ3_3708406.png

解决办法:用yum list |grep xml2查看,并安装安装 libxml2-devel 包

001714_qaJc_3708406.png

001903_Tfjx_3708406.png

安装好之后,接着配置,又出现错误

错误二:缺少openssl-devel库

002215_h2ht_3708406.png

解决办法:

002249_1ZT0_3708406.png

安装完成,接着配置,配置过程中出现错误就会停止运行

错误三:缺少bzip2 bzip2-devel库

002525_VH4B_3708406.png

解决办法:

002610_7Wg9_3708406.png

安装完成,接着配置

错误四:缺少libjpeg-devel包

002752_jMTC_3708406.png

解决办法:

002812_KnUL_3708406.png

安装完成,接着配置

错误五:缺少libpng-devel包

002933_5ncE_3708406.png

解决办法:

003006_6Euh_3708406.png

安装完成,接着配置

错误六:缺少 freetype-devel 库

003141_VQmr_3708406.png

解决办法:

003208_2Lw6_3708406.png

安装完成,接着配置

错误七:缺少 libmcrypt-devel 库

003324_Iak8_3708406.png

解决办法:先安装eprl扩展源yum install -y epel-release,再来安装 libmcrypt-devel 包

003453_BzCr_3708406.png

安装完成,接着配置,看到以下提示,就表示配置成功

003846_VVTo_3708406.png

用echo $?检查是否有错误,0表示没有错误

005010_mmtl_3708406.png

然后就是make和make install,安装完成

011148_AGU2_3708406.png

011116_STTB_3708406.png

查看PHP目录和核心文件

011509_WaQv_3708406.png

查看php加载的模块

011547_vucL_3708406.png

查看Apache的模块

012523_FGY1_3708406.png

012603_P3jN_3708406.png

php5_module (shared) 这个模块非常重要,Apache需要去执行php的文件,需要借助于php module这个模块

查看模块文件

012839_VYGV_3708406.png

打开Apache的配置文件,搜索/php5.so,自动加载相应的模块

012913_UHYM_3708406.png

012930_BwxT_3708406.png

安装PHP7

  • cd /usr/local/src/
  • wget http://cn2.php.net/distributions/php-7.1.6.tar.bz2
  • tar zxf php-7.1.6.tar.bz2
  • cd php-7.1.6
  • ./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
  • make && make install
  • ls /usr/local/apache2.4/modules/libphp7.so
  • cp php.ini-production /usr/local/php7/etc/php.ini

首先切换到/usr/local/src/目录下,# cd /usr/local/src/

下载PHP7.1版本安装包

014030_XgGR_3708406.png

解压PHP7安装包

014148_Dtdp_3708406.png

切换到PHP7的源码包目录下,配置

014719_aazj_3708406.png

然后编译和安装,make 和make install

015317_DhGv_3708406.png

015349_LErD_3708406.png

安装完成之后,查看PHP7的文件

015606_cIJj_3708406.png

查看php7加载的模块,与PHP5基本上是一致的

015639_hMUm_3708406.png

查看Apache加载几个PHP,既有PHP5,也有PHP7

015845_8dMZ_3708406.png

015942_CMsa_3708406.png

根据自己需求,选择PHP,不想用哪个,就注释掉哪一行

020100_IUyj_3708406.png

020145_Rs3d_3708406.png

扩展

php中mysql,mysqli,mysqlnd,pdo到底是什么

查看编译参数

转载于:https://my.oschina.net/u/3708406/blog/1591684

相关文章:

  • CSS 为什么这么难学?
  • sql server 索引总结一
  • 『TensorFlow』读书笔记_Word2Vec
  • Android UI进阶之旅15 SVG的使用
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • Android的一些命名规范
  • 零元学Expression Blend 4 - Chapter 13 用实例了解布局容器系列-「Pathlistbox」I
  • Spring源码系列-容器刷新
  • WPF用样式实现TextBox的虚拟提示效果
  • ReactiveCocoa学习
  • [POJ2411]Mondriaan's Dream
  • CentOS7防火墙
  • vue.js 初步学习资源
  • Atlassian发布JIRA项目组合管理解决方案
  • 图片后门恶意捆绑工具FackImageexploer
  • JavaScript-如何实现克隆(clone)函数
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • 【EOS】Cleos基础
  • 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  • IDEA常用插件整理
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • Java 23种设计模式 之单例模式 7种实现方式
  • Java反射-动态类加载和重新加载
  • Leetcode 27 Remove Element
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • Python_OOP
  • React-Native - 收藏集 - 掘金
  • Redash本地开发环境搭建
  • SpringCloud(第 039 篇)链接Mysql数据库,通过JpaRepository编写数据库访问
  • VUE es6技巧写法(持续更新中~~~)
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • 记一次和乔布斯合作最难忘的经历
  • 聊聊redis的数据结构的应用
  • 前端相关框架总和
  • 嵌入式文件系统
  • 算法---两个栈实现一个队列
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  • 一文看透浏览器架构
  • 正则表达式
  • [Shell 脚本] 备份网站文件至OSS服务(纯shell脚本无sdk) ...
  • Prometheus VS InfluxDB
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • #Z2294. 打印树的直径
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • (4)logging(日志模块)
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (多级缓存)缓存同步
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (已更新)关于Visual Studio 2019安装时VS installer无法下载文件,进度条为0,显示网络有问题的解决办法
  • (转)shell中括号的特殊用法 linux if多条件判断
  • .net wcf memory gates checking failed
  • .Net 高效开发之不可错过的实用工具
  • .net 重复调用webservice_Java RMI 远程调用详解,优劣势说明
  • .net 逐行读取大文本文件_如何使用 Java 灵活读取 Excel 内容 ?