概述

PDO_ACI简介

PHP 数据对象 (PDO) 扩展为PHP访问数据库定义了一个轻量级的一致接口。实现 PDO 接口的每个数据库驱动可以公开具体数据库的特性作为标准扩展功能, PDO 扩展自身并不能实现任何数据库功能, 必须使用一个具体数据库的 PDO 驱动 来访问数据库服务。

PDO 提供了一个数据访问抽象层,这意味着,不管使用哪种数据库,都可以用相同的函数(方法)来查询和获取数据, 它不提供数据库抽象层, 不会重写 SQL,也不会模拟缺失的特性。如果需要的话, 就需要使用一个更加成熟的抽象层。 PDO_ACI是神通数据库提供的数据库抽象层。通过开启PDO_ACI的扩展编写出的程序,不仅可以连接神通数据库进行各种操作, 还可以很方便的移植到其它支持PDO扩展的数据库。

警告

注意:PDO是随PHP5.1发行的,在PHP5.0的PECL扩展中也可以使用,但无法运行于之前的PHP版本。PDO_ACI 基于 PHP5.4.45 版本开发。

PDO_ACI编程基础

PHP版本支持

目前神通支持的 PHP 版本为 PHP5.3-5.6 和 PHP7.0-7.2, PHP7.3, PHP7.4, PHP8.0

每个版本有对应的PDO_ACI库版本,版本对应错误将无法正确加载。

ACI依赖关系

PDO 驱动默认可用, 对于使用神通数据库,还需要启用 PDO_ACI驱动扩展。 PDO_ACI 的运行需要使用 ACI 动态库,所以使用前需确认 ACI 动态库所在目录(一般为神通安装目录中的bin目录)是否已在系统环境变量中。另外需要保证 ACI 和 PDO_ACI 平台一致,例如 loongarch64, arm64, mipsel64, shenwei64, linux64, win32, win64。神通ACI动态的路径为:$SZ_OSCAR_HOME/drivers/aci/{平台}。

更多 ACI 动态库详细信息,请转至ACI (C/C++)程序员开发手册

支持平台情况

支持 x86/x64、鲲鹏、飞腾、龙芯、兆芯、海光、申威等CPU架构;

支持 Windows和基于Linux内核的国内外操作系统,比如:Redhat系列、Centos系列、Ubuntu系列、银河麒麟KylinV10、统信UOS V20、openEuler等;

PDO_ACI文件组成

神通数据库 PDO_ACI程序员开发组件由运行时库和帮助文档组成,其中运行时库包括Windows和Linux两种平台,有32位和64位平台下的扩展库。

下表为 PDO_ACI 在各平台下的文件命名,其中不带 nts 后缀的线程安全版本,反之为非线程安全版本。

版本 动态库
Windows

php_pdo_aci.dll (线程安全)

php_pdo_aci_nts.dll (非线程安全)

Linux

pdo_aci.so (线程安全)

pdo_aci_nts.so (非线程安全)

选择线程安全或者非线程安全需要根据PHP运行时是否是线程安全来选择,扩展线程安全需要与 PHP 运行时线程安全保持一致。

可以通过 Linux: php -i |grep thread 和 Windows php -i|find /i "thread" 查看PHP 运行时线程安全版本。