CentOS7源码安装PHP7
前言:
其实对于很多php程序员来说,Linux可能还是属于一个略懂的状态.比如搭建环境大家更加乐意去使用继承开发环境.对于源码编译安装比较陌生.当然我也不例外.不过我认为一个程序员无论你常用的开发语言是什么.linux都是一个绕不开的东西.所以今天就学习下如何使用源码编译安装PHP7
1.前提
首先我使用的是CentOS7的操作系统,也是一个比较主流的系统.其他发行版本甚至mac 应该方法都是大同小异
当我们安装php之前我们需要到官网去下载一个源码包
- 点击左上角的Downloads
- 选择php版本(我这里选择的最新版本)
-
选择一个下载源,右键复制链接(我的服务器在美国,我就选了美国 大家可以自行决定)
下载源
下面就进入到服务器环节了
首先要下载一个包,我比较常用的命令是wget,如果你没有安装wget的话
yum install wget
- cd到你要下载的目录,使用wget命令下载
#把刚刚复制的链接粘贴到命令后面 wget http://cn2.php.net/get/php-7.2.6.tar.bz2/from/this/mirror
-
下载完成后就有这个文件拉
下载完成 - 解压mirror 文件
tar -xf mirror
- 解压出来就如上图会有一个php文件夹,这就是我们的php安装包了
- 随后我们cd进入这个包里面.使用它里面的编译工具 configura
这个configure实际上是一个shell脚本,用来编辑我们安装包的,编译可以选择很多的配置,比如安装某些扩展,排除某些扩展,设定路径等等
#可以使用help来查看可以有那些配置 ./configure --help
开始安装
- 安装依赖
首先我发现php需要必须要有两个依赖,第一是gcc(很多服务器镜像有)
第二个是libxml2
那么的安装方式非常简单
#gcc yum install gcc #libxml2 yum install libxml2-devel
- 编译php
还是我们之前讲的使用./configrue来编译,不过我们可以做一些配置.(当然不配置也可以)
#--prefix=/后面更你想要安装的地方,也就是window安装软件时询问你的安装目录 ./configure --prefix=/service/php
如果你的服务器跟我一样是个垃圾,内存超级小 那么我推荐你在后面加上 --disable-fileinfo
./configure --prefix=/service/php/ --disable-fileinfo
然后就是等待(直到出现 Thank you for using PHP)
那么我们编译完成之后呢,就是安装啦,安装分为两部
#第一步 make #第二部 make install
也可以合二为一, make&&make install
又是个漫长的等待(谁叫我服务器烂呢)
验证安装
如果安装没有报错,那么应该是ok了 我们去验证一下
首先cd到你刚刚设置的目录下面去
我的是在/service/php
bin目录里就是一个可执行文件的目录,我们进入
cd bin
我们要验证php是否安装成功,我们就直接创建一个php文件,看看是否可以执行就好了
#创建一个php文件 vim index.php
进入后写上一点代码,并保存
<?php echo 'hello world';
然后我们使用php去执行index.php 文件
如上图我们看到的确输出了hello world 由此可以证明我们的安装php是 成功的!
6月3日更新
接着之前的写.我发现虽然我安装php7成功,并且可以使用php去执行php代码了.可是还有很多没有完善的地方
配置环境变量
也许是自己之前一直使用继承环境的原因,环境变量一直都是配好了的,非常方便.我就忘了还有这个事了
由于linux的强大,配置环境变量又分为临时设置,给某个用户设置,和全局设置.为了方便,我就直接全局设置了
#只需要配置这个文件便可以全局生效 vim /etc/profile
进入文件之后,在文末加上
#$PATH后面是你自己的php文件所在的路径 PATH=$PATH:/service/php/bin export PATH
然后保存退出,再执行一个命令就ok了
source /etc/profile
下面我们测试一下
php -i
如果是打印出了很多的php信息的话就代表配置成功!
配置php.ini
之前没有注意到的部分还有,我们的php安装目录里面没有php.ini文件.我查阅了些资料.php.ini是在我们下载的安装包里面,需要我们把它copy到自己的安装目录里
我们先去找找看
我们就先挑选开发版本的ini文件
在copy ini文件之前,这里还有一个细节,我们php在编译的时候我们并没有去配置它的ini文件的目录位置.那么就是一个默认的位置.那么这个默认的php.ini的位置在哪里呢?
这个可以使用刚刚使用过的命令 php -i 里面查看到,我们使用管道将我我们需要的信息过滤出来
好了我们现在知道了配置的php.ini目录的位置了.我们就把文件移动过去吧
cp php.ini-development /service/php/lib/php.ini
这样就可以通过php.ini文件来配置我们的php了
注意目录一定要和php -i 里面查出的位置保持一致哦,不然修改ini文件是不会生效的
好了今天就写到这里了.之后我会多写一些关于linux的文章,也是自己学习的一个路径.如果有不对的地方,欢迎大神指点
谢谢
以上

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
centos7之Java开发环境构建
CensOS7环境 我个人的博客环境如下: 希望这个教程可以帮助到linux新手朋友们或者其他在安装软件时遇到问题的朋友们 当然了,百度上也有很多类似这样的教程,我个人贴出来,一来为分享,二来以后自己用到时,上手就有,不必担心为此耗费比较长的时间。 该教程是我个人使用xmind写的,只是通过导出工具导出为html,才会显示如下,不过导出的显示信息,不会影响正常阅读。 本人亲自实践过,有任何问题可以留言 Java开发基本环境 1.jdk的安装 rpm安装 获取rpm安装包 wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm jdk官网:http://www.oracle.com/technetwork/java/java...
- 下一篇
新手学python,如何才能更快升职加薪,迎娶白富美,走上人生巅峰
最近在问答里发现好多咨询怎么学习python,或者学习难不难的问题,这里给大家提几点建议: 了解自己的目标 我开始学编程的时候,连基础的知识都不知道,小白的很!记得我开始看教材,就是输入“hello world”的时候,我也是一脸懵逼,啥是控制台啊,那一堆堆的英文字母是啥意思?打开cmd?cmd是什么。。。idle是什么,编辑器?解释器?变量?赋值?我了个去。。。 所以在你准备进入程序员这个行业的时候,要先了解这个行业,基础知识需要掌握哪些?前置技能需要什么?行业发展、前景等等都需要知道一下! 这里插一句,大家在选择教材的时候,为什么我一直建议先去看看呢?就是这个原因,有些教材虽然是针对零基础的,但是注意这个零基础可能和你理解的零基础不一样。编程零基础和python零基础完全不是一个概念! 我想我们一定遇到不少的教程,帮我们解释概念的时候,上来就是这个概念其实可以理解成C的XXX,C#的XXX,我他么的要学过C,还他么跑过来问小白如何入门python? 这些教程典型的通病就是,教学者用一个我们不懂的概念去解释另一个我们不懂的概念,然后我们还是不懂。因为教学者提前预设了作为零基础的我们的...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS关闭SELinux安全模块
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7,8上快速安装Gitea,搭建Git服务器