全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Ubuntu 16.04下安装PHP 7过程详解

前言

最近由于换了硬盘重装了(升级)系统到Ubuntu16.04之后,开发环境也要重新安装,其实16.04源里面默认的PHP版本就是7.x,但是有个问题就是没有OCI扩展,有项目需要使用到Oracle数据库。

准备编译环境

由于全部编译太过于繁琐,而且很多依赖会有问题,所以我们选择另外一种方案,能使用apt-get安装都使用apt-get安装。不能使用apt-get才自己编译,这样可以节省大量的时间。因为有的依赖真的是很头疼。

由于在Ubuntu16.04上,默认的PHP版本就是7.x。由于我们要使用Apache2.4+PHP,所以安装如下模块即可直接解析PHP。

sudo apt-get install php-dev libapache2-mod-php

这样最基本的模块就安装好了,如果还需要其他的模块,可以通过apt-get快捷安装;比如还需要MySQL和mb_string相关的模块。

sudo apt-get install php-mysql php-mbstring

这样就会自动安装好相关的模块。

安装Oracle Client

由于要编译OCI扩展,我们需要Oracle客户端,这里我们下载Oracle Instant Client,选择Instant Client for Linux x86-64 basic版本下载。

另外要编译OCI必须还需要instant client SDK 包,下载解压之后合并到Base。

给出的网页最后面也有安装步骤,这里简述一下

  • 解压zip包,放置到某个目录下
  • 为当前版本的Instant Client创建合适的链接
  • 设置环境变量
sudo unzip instantclient-basic-linux.x64-12.1.0.2.0.zip
sudo unzip instantclient-sdk-linux.x64-12.1.0.2.0.zip
sudo mv instantclient_12_1/ /opt/oracle/
cd /opt/oracle/instantclient_12_1/
# 建立符号链接
sudo ln -s libclntsh.so.12.1 libclntsh.so
sudo ln -s libocci.so.12.1 libocci.so
# 打开 /etc/profile 在最后面加入
export LD_LIBRARY_PATH=/opt/oracle/instantclient_12_1:$LD_LIBRARY_PATH
export PATH=/opt/oracle/instantclient_12_1:$PATH
# 最后source一下,使配置生效
source /etc/profile

下载PHP源码

首先我们要确定已经安装的PHP的版本,由于使用apt-get安装,版本可能不是PHP官网放的最新的版本,使用下面的 命令既可查看

php -v

发现我的安装的版本是7.0.4,那么我们对应的下载PHP-7.0.4版本的源码。

两种方式可以下载到源码。

  1. 从官网下载源码包
  2. 从GitHub 仓库 clone

官网下载源码很简单,打开php.net的Download页面,选择要下载的版本。或者从GitHub仓库clone指定版本(或者先clone再checkout想要的版本),如

git clone -b PHP-7.0.4 https://github.com/php/php-src && cd php-src

编译OCI8/PDO_OCI

经过如上的步骤我们已经进入到下载的PHP源码根目录了,那么我们开始编译。

编译oci8

进入到扩展oci8的源码目录,使用phpize

cd ext/oci8
phpize
./configure --with-oci8=instantclient,/opt/oracle/instantclient_12_1
sudo make

执行完上面的步骤,应该会生成一个modules文件夹,里面就有我们想要的extension。

编译pdo_oci

步骤和编译oci8是一样的,但是configure参数不一样,所以还是写一下。

cd ../../ext/pdo_oci
phpize
# 最后面要指定版本号
./configure --with-pdo-oci=instantclient,/opt/oracle/instantclient_12_1,12.1
sudo make

结果也和上面一样。

使用我们编译的扩展

首先我们要知道现行PHP的ext目录在哪里

php -i | grep "extension_dir"

我这里显示的是extension_dir => /usr/lib/php/20151012 => /usr/lib/php/20151012,那么我们先把我们编译的扩展复制到/usr/lib/php/20151012

# 先进入对应的modules目录下
cp oci8.so /usr/lib/php/20151012
cp pdo_oci.so /usr/lib/php/20151012

然后我们还要在php.ini中添加相关配置项,首先也要知道php.ini的位置

p -i | grep "Configuration File"

打印出了如下信息

Configuration File (php.ini) Path => /etc/php/7.0/cli
Loaded Configuration File => /etc/php/7.0/cli/php.ini

这样我们就知道了php.ini的位置,但是这个是CLI(命令行接口)的配置文件,我们需要使用Apache的(CGI)。我们到目录/etc/php/7.0/下发现还有一个名为apache2的目录,里面也有php.ini文件,那么我们编辑apache2目录下的php.ini

sudo vim php.ini

在里面加入

extension=oci8.so
extension=pdo_oci.so

最后重启Apache

systemctl restart apache2.service

查看一下phpinfo()发现OCI和PDO_OCI均已安装。到这里安装已经全部完成了。

Linux小技巧

在安装和查资料的过程中发现了一下很实用的命令,也把它们记录下来。

# 重启某个服务
sudo systemctl restart apache2.service
# 查看某个服务的状态
sudo systemctl status apache2.service
# 查看php相关的模块(其他的类似)
apt-cache search php- | less
# 具体查看某个模块的详细信息
apt-cache show package_name

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。


# ubuntu  # 16.04  # 安装php  # php7  # php  # 详解Ubuntu下安装和配置Apache2  # Ubuntu 16.04安装Apache Tomcat的方法  # ubuntu 14.04 安装 apache ant教程  # Ubuntu18.04 安装mysql8.0.11的图文教程  # Ubuntu Server 16.04 LTS 上安装 LAMP图解教程  # Ubuntu 12.04 x64 编译安装lamp的步骤  # Ubuntu 18.04上安装Apache、MySQL、PHP、LAMP的完整教程  # 还需要  # 的是  # 也有  # 官网  # 也要  # 其他的  # 重启  # 目录下  # 就会  # 会有  # 好了  # 有个  # 出了  # 就有  # 两种  # 要在  # 可以通过  # 很简单  # 换了  # 还有一个 


相关文章: 网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  Python如何创建带属性的XML节点  如何选择网络建站服务器?高效建站必看指南  南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?  建站主机无法访问?如何排查域名与服务器问题  制作国外网站的软件,国外有哪些比较优质的网站推荐?  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  如何确保西部建站助手FTP传输的安全性?  建站之星体验版:智能建站系统+响应式设计,多端适配快速建站  宝塔Windows建站如何避免显示默认IIS页面?  如何通过FTP服务器快速搭建网站?  建站之星安装失败:服务器环境不兼容?  大连网站设计制作招聘信息,大连投诉网站有哪些?  制作企业网站建设方案,怎样建设一个公司网站?  模具网站制作流程,如何找模具客户?  如何在Windows服务器上快速搭建网站?  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  移民网站制作流程,怎么看加拿大移民官网?  安徽网站建设与外贸建站服务专业定制方案  如何在企业微信快速生成手机电脑官网?  宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?  宝塔面板创建网站无法访问?如何快速排查修复?  实惠建站价格推荐:2025年高性价比自助建站套餐解析  定制建站策划方案_专业建站与网站建设方案一站式指南  广州营销型建站服务商推荐:技术优势与SEO优化解析  大同网页,大同瑞慈医院官网?  家庭服务器如何搭建个人网站?  企业微网站怎么做,公司网站和公众号有什么区别?  东莞专业制作网站的公司,东莞大学生网的网址是什么?  重庆网站制作公司哪家好,重庆中考招生办官方网站?  网站设计制作企业有哪些,抖音官网主页怎么设置?  建站之星安装需要哪些步骤及注意事项?  公司门户网站制作流程,华为官网怎么做?  网站制作中优化长尾关键字挖掘的技巧,建一个视频网站需要多少钱?  名字制作网站免费,所有小说网站的名字?  湖州网站制作公司有哪些,浙江中蓝新能源公司官网?  教学网站制作软件,学习*后期制作的网站有哪些?  学校建站服务器如何选型才能满足性能需求?  在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?  建站之星上传入口如何快速找到?  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?  ,怎么用自己头像做动态表情包?  建站之星如何实现网站加密操作?  想学网站制作怎么学,建立一个网站要花费多少?  建站之星代理费用多少?最新价格详情介绍  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  网站制作软件有哪些,制图软件有哪些?  c# Task.ConfigureAwait(true) 在什么场景下是必须的  ,网站推广常用方法? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。