首页 > 系统相关 >Ubuntu安装PHP8.2 编译安装 oci8 pdo_oci扩展

Ubuntu安装PHP8.2 编译安装 oci8 pdo_oci扩展

时间:2024-02-07 10:00:12浏览次数:38  
标签:oci PHP instantclient php8.2 apt PHP8.2 php 安装

PHP 8.2是PHP语言的最新版本。新特性包括,只读类,允许布尔值作为独立类型等。从mysqli中删除libmysql的支持等。

时至今天,主流的HTTP服务器已不是Apache,我们推荐使用Nginx作为HTTP服务器,Nginx相对于Apache来说简单且性能更好。

本教程将向您展示如何在Ubuntu 20.04安装PHP 8.2并将其与Nginx集成。在撰写本文时,默认的Ubuntu 20.04存储库包括PHP 7.4版本。

我们将从ondrej/php的PPA存储库中安装PHP。升级或安装PHP 8之前,请确保您的应用程序支持它。

OndřejSurý维护着一个包含多个PHP版本的存储库。请运行下面的命令安装PHP 8.2。

终端将会提示你是否继续的消息,Press [ENTER] to continue or Ctrl-c to cancel adding it.。按Enter键回车即可。

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php

sudo apt update
sudo apt install php8.2-fpm(php8.2-cli)

 

查看已安装的php版本

 

 

安装PHP扩展

PHP扩展是已编译的动态库,它扩展了PHP的核心功能。PHP扩展程序作为软件包提供,可以通过apt安装PHP扩展。

按照惯例PHP扩展的通常是以php开头,接着是版本号,然后是-和扩展名称。这是通用的格式php8.2-[extname]

 

并不是所有php扩展都可以通过apt命令进行安装,Apt仓库仅提供常用PHP扩展,某些扩展可能需要自己手动编译。

 

例如,要安装MySQL和GD扩展,您可以运行命令sudo apt install php8.2-mysql php8.2-gd

 

需要apt安装的扩展有:php8.2-mysql php8.2-mbstring php8.2-curl php8.2-redis php8.2-bcmath php8.2-soap php8.2-swoole

sudo apt install php8.2-mysql php8.2-mbstring php8.2-curl php8.2-redis php8.2-bcmath php8.2-soap php8.2-swoole

查看已安装的php扩展

 

oci8 pdo_oci需要手动编译安装 (划重点)

oracle客户端下载链接:Oracle Instant Client Downloads for Linux x86-64 (64-bit)

https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html

选择最新版本 version:21.13

基础包和sdk包都默认选的第一个

 

 

cd /usr/local/src

sudo wget https://download.oracle.com/otn_software/linux/instantclient/2113000/instantclient-basic-linux.x64-21.13.0.0.0dbru.zip sudo wget https://download.oracle.com/otn_software/linux/instantclient/2113000/instantclient-sdk-linux.x64-21.13.0.0.0dbru.zip

sudo apt install unzip

unzip instantclient-basic-linux.x64-21.13.0.0.0dbru.zip
unzip instantclient-sdk-linux.x64-21.13.0.0.0dbru.zip

 

PHP源码编译安装扩展

官方github链接:https://github.com/php/php-src/tree/php-8.2.15

下载:wget https://github.com/php/php-src/archive/refs/tags/php-8.2.15.zip 

     wget https://mirror.ghproxy.com/https://github.com/php/php-src/archive/refs/tags/php-8.2.15.zip(代理加速版本)

 

unzip php-8.2.15.zip

cd php-src-php-8.2.15/ext/oci8/

phpize

 

 

phpize命令报错了 需执行以下命令:

apt install php8.2-dev

 再次执行phpize成功了

 

编译 oci8

./configure --with-oci8=instantclient,/usr/local/src/instantclient_21_13

make && make install

 

编译 pdo_oci

cd ../pdo_oci

phpize

./configure --with-pdo_oci=instantclient,/usr/local/src/instantclient_21_13

make && make install

 

 

 vim /etc/php/8.2/cli/php.ini

 

 开启扩展 执行 php --ini 发现有报错了

 

问题:libnnz21.so: cannot open shared object file: No such file or directory

原因:libnnz21.so 没加载到

ldd /usr/lib/php/20220829/oci8.so

 

vim /etc/profile
export LD_LIBRARY_PATH=/usr/local/src/instantclient_21_13:$LD_LIBRARY_PATH

 

 libaio.so.1也没有加载到

apt-get install libaio1 libaio-dev

 解决~

 

最后执行php -m 查看已安装的扩展 发现oci8和pdo_oci已成功安装,大功告成~

 

 

参考文档:

https://www.mryunwei.com/242425.html

https://stackoverflow.com/questions/72592165/install-and-enable-oci8-extension-for-php8-1-fpm-in-dockerfile

 

标签:oci,PHP,instantclient,php8.2,apt,PHP8.2,php,安装
From: https://www.cnblogs.com/starfish29/p/18009925

相关文章

  • 如何导出 Visual Studio Code 的扩展应用,并离线安装?
    1.离线情形VisualStudioCode的扩展应用安装位置在文件夹.vscode/extensions下。不同平台,它位于:Windows%USERPROFILE%.vscode\extensionsMac~/.vscode/extensionsLinux~/.vscode/extensions离线使用时,直接复制粘贴即可。2.有网情况方法1:账号同步使用VisualStudio......
  • centos7安装posgresql
    安装#安装源sudoyuminstall-yhttps://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm#安装PostgreSQLcentos7上安装更高版本缺依赖,比较麻烦sudoyuminstall-ypostgresql14-server#初始化数据库sudo/usr/......
  • 如何在Linux系统上正确的安装和替换特定版本的GCC
    以GCC9.2为例,下面是一个完整的下载源代码,编译,安装,配置的过程cd/usr/local/srcwgetftp://ftp.gnu.org/gnu/gcc/gcc-9.2.0/gcc-9.2.0.tar.xzxz-dgcc-9.2.0.tar.xztar-xfgcc-9.2.0.tarcdgcc-9.2.0./configure--disable-multilib--enable-languages=c,c++--prefix=/u......
  • ESXi升级RAID驱动和安装CIM Provider和MegaRAID Storage Management
    一:首先ESXi中要装磁盘阵列卡的专用驱动Provider,比如戴尔的驱动Provider可以在http://www.piis.cn/news/new935.asp下载,安装方法也可以借鉴它,这里就不详细说安装方法了二:ESXI中要设置按F2后输入root和密码到配置界面--选择"ConfigureManagementNetwork"·中的1、“DNSConf......
  • 【nw.js】使用nw.js将html页面打包成exe免安装程序
    @[TOC]一、批处理zip命令(已有可跳过此步骤)下载zip,你可以到该网址下载zip执行文件,如下图:将文件路径配置到环境变量中,具体操作如下:右键计算机——>属性——>高级系统设置——>高级——>环境变量——>系统变量——>找到path,双击——>新建——>将所在路径添加进去(如:“F:\zip”包含进环......
  • 阿里云轻量级 GPU 实例安装 NVIDIA 驱动
    实例规格:轻量级GPU实例vgn6i-vws/ecs.vgn6i-m4-vws.xlarge(4vCPU23GiB)操作系统:Ubuntu22.04第一部分:尝试失败的安装方法查询NVIDIA产品型号lspci|grep-invidia输出00:07.0VGAcompatiblecontroller:NVIDIACorporationTU104GL[TeslaT4](reva1)根据产......
  • IIS的基本安装和配置
    实验介绍:IIS的作用IIS是web服务器中常见的一种。当客户端想访问某个域名时,向web服务器发出请求。web服务器返回网页的代码做出回应。客户端解析代码生成网页。一:安装IIS1.打开一台windows服务器,修改IP为192.168.1.2082.打开服务器管理器,安装web服务器(IIS)二:web服务器绑定IP......
  • 记录一次Electron程序打包自定义安装包
    首先下载nsNiuNiu打包程序下面就是下载之后解压的文件夹内容,注明了主要文件/文件夹的用途将使用electron-builder打包的文件内容拷贝到FilesToInstall,也就是文件夹下面的内容拷贝过去修改.\SetupScripts\nim\nim_setup.nsi中的内容,这个文件是nsis的打包主文件,在其中设......
  • Liunx安装配置python3
    liunx系统下会默认自带python2.0版本,查看python版本:python-V官网下载python3.10.0版本上传到liunx机器解压并移动到/usr目录下#解压命令tar-zxvfPython-3.10.0.tgz#移动到/usr/python3目录下mkdir/usr/python3mvPython-3.10.0/usr/python3安装依赖包yumins......
  • CentOS安装配置Nginx详细教程
    CentOS安装配置Nginx详细教程一、预先安装额外的依赖yum-yinstallgccgcc-c++yum-yinstallpcre-develyum-yinstallopensslopenssl-devel二、下载Nginx压缩包(这里以Nginx1.24.0为例)下载地址https://nginx.org/en/download.html三、创建nginx文件夹,并上传压缩......