博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
源码编译安装php7
阅读量:4574 次
发布时间:2019-06-08

本文共 2087 字,大约阅读时间需要 6 分钟。

现在新启的项目都是采用php7了,无奈很多Linux发行版中还是php5

第三方php7源在自己本机上用用到无所谓,放到正式环境上还是有点不放心

其实编译安装也就几分钟,麻烦的是各种依赖

先删除老版本的 php 和 php-fpm

sudo dnf remove php php-fpm

首先从官方下载最新的php ( http://php.net/downloads.php )

php-7.2.6.tar.xz

步骤

tar -xvf php-7.2.6.tar.xz

cd php-7.2.6

./configure --prefix=/usr/local/php7/ --enable-mbstring --with-curl --with-gd --enable-mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --enable-fpm --with-openssl --enable-opcache --enable-zip --with-zlib --with-freetype-dir=/usr/include/freetype2/freetype 

重点提示,虽然添加了 --with-gd ,安装完成后通过 phpinfo发现,gd只支持png,gif等  不支持 jpeg,原因不详,所以要添加 --with-jpeg-dir=/usr/local/jpeg/ 。

添加这句话之前要先安装libjpeg,官方下载最新版本 (http://www.ijg.org/files/jpegsrc.v9c.tar.gz),

还是老三样 ./configure --prefix=/usr/local/jpeg --enable-shared  && make && sudo make install

所以最后./configure因该这样

./configure --prefix=/usr/local/php7/ --enable-mbstring --with-curl --with-gd --enable-mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --enable-fpm --with-openssl --enable-opcache --enable-zip --with-zlib --with-freetype-dir=/usr/include/freetype2/freetype --with-jpeg-dir=/usr/local/jpeg/

可以通过 ./configure --help 查看所有可用的模块,根据自己的需要添加

(这里插一句,为什么有的是-enable-** 有的是 --width-**,简单理解就是 enable的属于php自带的扩展,但是默认不开启的,--enable开头的表示这个扩展不依赖第三方的库,典型的如 --enable-opcache , --with开头的表示这个扩展依赖第三方的库,像--with-curl就依赖第三方的libcurl库,系统需要 安装这个库的开发包(头文件,共享库so文件,静态库a文件)才能通过configure配置)

configure 这一步报了错,告诉我 找不到 png.h

解决:sudo dnf install libpng libpng-devel  一般情况下缺少某个头文件,多半是没有安装 **-devel 开发包,这里可以不安装 libpng 但是需要 libpng-devel

重新configure,告诉我 cURL 没有找到或者版本低于7.15

通过 rpm -qa | grep curl   发现我安装了 curl,并且是7.43,所以问题其实就上面说道的,缺少 curl-devel

解决:sudo dnf install curl-devel 

由于我本地机用了一段时间了,环境还是很给力,就没有在报依赖问题了

然后 make && sudo make install

几分钟就安装成功了

所有程序包括配置文件都安装到了我指定的目录下面

/usr/local/php7/ 

然后替换掉低版本的php

sudo cp /usr/bin/php /usr/bin/php5

sudo ln -s  /usr/local/php7/bin/php /usr/bin/php

sudo ln -s  /usr/local/php7/sbin/php-fpm  /usr/bin/php-fpm

安装后默认的配置文件在 /usr/local/php7/etc/ 下面  ,配置文件加了.example后缀,去掉就可以了

(插一句,有些时候很诡异,安装好后没有配置文件,不要害怕,在下载的php源代码里面可以拷贝一个 .example配置文件过来)

转载于:https://www.cnblogs.com/codeAB/p/9191096.html

你可能感兴趣的文章
perl6的介绍与下载编译安装
查看>>
mesos cluster
查看>>
Altium Designer 中差分走线
查看>>
linux 解压缩命令
查看>>
GDUT校赛
查看>>
(HDU)1076 --An Easy Task(简单任务)
查看>>
团队精神与集体主义的区别?
查看>>
Spring Boot 入门(Spring Cloud方向)
查看>>
仿淘宝商品图片放大镜效果(鼠标移动上去会出现放大的图片,并且可以移动)...
查看>>
AngularJS(九):路由
查看>>
Google chrome浏览器HTML5 Beta项目, 未来Web前瞻!
查看>>
GPS.NET 和 GeoFramework开源了
查看>>
汇编:采用址表的方法编写程序实现C程序的switch功能
查看>>
AtiveMQ初次连接的 http error:503 连接错误 Prolem accessing /.Reason : Service Unavailable...
查看>>
OFO和摩拜共享单车
查看>>
Linux软件安装管理之1——rpm命令管理
查看>>
visual studio 2017 使用笔记
查看>>
iTerm2 半透明颜色主题与字体配置
查看>>
《Entity Framework 6 Recipes》中文翻译系列 (14) -----第三章 查询之查询中设置默认值和存储过程返回多结果集...
查看>>
关于 Failed to establish a new connection: [Errno 11004] getaddrinfo failed',))的问题
查看>>