CentOS7源码安装PHP7

简介: 前言:其实对于很多php程序员来说,Linux可能还是属于一个略懂的状态.比如搭建环境大家更加乐意去使用继承开发环境.对于源码编译安装比较陌生.当然我也不例外.

前言:

其实对于很多php程序员来说,Linux可能还是属于一个略懂的状态.比如搭建环境大家更加乐意去使用继承开发环境.对于源码编译安装比较陌生.当然我也不例外.不过我认为一个程序员无论你常用的开发语言是什么.linux都是一个绕不开的东西.所以今天就学习下如何使用源码编译安装PHP7

1.前提

首先我使用的是CentOS7的操作系统,也是一个比较主流的系统.其他发行版本甚至mac 应该方法都是大同小异
当我们安装php之前我们需要到官网去下载一个源码包


官网
  1. 点击左上角的Downloads
  2. 选择php版本(我这里选择的最新版本)
  3. 选择一个下载源,右键复制链接(我的服务器在美国,我就选了美国 大家可以自行决定)


    下载源

下面就进入到服务器环节了

首先要下载一个包,我比较常用的命令是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

开始安装

  1. 安装依赖
    首先我发现php需要必须要有两个依赖,第一是gcc(很多服务器镜像有)
    第二个是libxml2
    那么的安装方式非常简单
#gcc
yum install gcc
#libxml2
yum install libxml2-devel
  1. 编译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


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信息的话就代表配置成功!

配置php.ini

之前没有注意到的部分还有,我们的php安装目录里面没有php.ini文件.我查阅了些资料.php.ini是在我们下载的安装包里面,需要我们把它copy到自己的安装目录里
我们先去找找看


php安装包里的内容

我们就先挑选开发版本的ini文件

在copy ini文件之前,这里还有一个细节,我们php在编译的时候我们并没有去配置它的ini文件的目录位置.那么就是一个默认的位置.那么这个默认的php.ini的位置在哪里呢?

这个可以使用刚刚使用过的命令 php -i 里面查看到,我们使用管道将我我们需要的信息过滤出来


image.png

好了我们现在知道了配置的php.ini目录的位置了.我们就把文件移动过去吧

cp php.ini-development /service/php/lib/php.ini

这样就可以通过php.ini文件来配置我们的php了

注意目录一定要和php -i 里面查出的位置保持一致哦,不然修改ini文件是不会生效的

好了今天就写到这里了.之后我会多写一些关于linux的文章,也是自己学习的一个路径.如果有不对的地方,欢迎大神指点

谢谢

以上

相关文章
|
8月前
|
Linux PHP
linux centos7 安装php7.4 实测 遇到的坑
linux centos7 安装php7.4 实测 遇到的坑
337 0
|
2月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。
本文介绍了在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。内容涵盖准备工作、下载源码、编译安装、配置服务、登录设置及实践心得,帮助读者根据需求选择最适合的安装方法。
136 2
|
5月前
|
应用服务中间件 Linux 网络安全
2022年超详细在CentOS 7上安装Nginx方法(源码安装)
这篇文章提供了在CentOS 7系统上通过源码安装Nginx的详细步骤,包括从官网下载Nginx源码包、上传至虚拟机、解压、删除压缩包、编译安装前的配置、安装PCRE库(因为Nginx使用PCRE库解析正则表达式)、安装zlib和OpenSSL库(用于支持HTTPS协议)、重新编译Nginx、安装后启动Nginx服务、关闭服务、修改默认端口、以及重启服务测试等步骤。文章还提供了相关命令和操作截图,帮助用户更好地理解和执行安装过程。
2022年超详细在CentOS 7上安装Nginx方法(源码安装)
|
5月前
|
Linux PHP
Linux CentOS 宝塔 Suhosin禁用php5.6版本eval函数详细图文教程
【8月更文挑战第27天】本文介绍两种禁用PHP执行的方法:使用`PHP_diseval_extension`禁用和通过`suhosin`禁用。由于`suhosin`不支持PHP8,仅适用于PHP7及以下版本,若服务器安装了PHP5.6,则需对应安装`suhosin-0.9.38`版本。文章提供了详细的安装步骤,并强调了宝塔环境下与普通环境下的PHP路径差异。安装完成后,在`php.ini`中添加`suhosin.so`扩展并设置`executor.disable_eval = on`以禁用执行功能。最后通过测试代码验证是否成功禁用,并重启`php-fpm`服务生效。
70 2
|
5月前
|
JavaScript Linux
2022年超详细在CentOS 7上安装Node.js方法(源码安装)
这篇文章介绍了在CentOS 7系统上通过源码安装Node.js的详细步骤,包括从官网下载Node.js源码包、将安装包上传至虚拟机、解压安装包、删除压缩文件、编译安装Node.js、检查Node.js和npm版本,以及切换npm源到淘宝镜像以加速下载。此外,还提供了一个获取Linux下Node.js离线安装包的微信公众号搜索方式。
|
5月前
|
Linux PHP Apache
centos7安装php8
centos7安装php8
356 1
|
8月前
|
PHP Apache
centos7.9 安装php7.0以上版本
centos7.9 安装php7.0以上版本
344 2
|
8月前
|
Linux Apache
CentOS 7 源码安装LAMP环境源 和apache监听别的端口
CentOS 7 源码安装LAMP环境源 和apache监听别的端口
71 0
|
8月前
|
关系型数据库 MySQL Linux
Centos7 yum安装lAMP 环境 php版本5.6.38 mysql版本5.7.22
Centos7 yum安装lAMP 环境 php版本5.6.38 mysql版本5.7.22
119 0
|
8月前
|
存储 缓存 NoSQL
CentOS7 下源码安装Redis并配置服务开机启动
CentOS7 下源码安装Redis并配置服务开机启动
375 1