PHP连接达梦数据库

PHP连接达梦数据库

1、环境介绍

cat /etc/*release*

PHP连接达梦数据库

 2、安装前的准备

下载安装相关的包

[root@localhost php]# yum install libxml2-devel
[root@localhost php]# yum install sqlite-devel
[root@localhost php]# yum -y install libxml2*

查看系统是否有gcc的一些环境没有就下

 3、安装PHP

将php的tar包上传至虚拟机的/opt里

PHP连接达梦数据库

 解压编译安装三部曲

[root@localhost opt]# tar -jxvf php-7.3.33.tar.bz2
//解压包,解压之后的目录也在/opt里
//进入解压之后的目录运行以下命令
//这里的/soft/php目录不需要自己提前创建,操作系统会创建好
[root@localhost php-7.3.33]# ./configure --prefix=/soft/php/  --with-config-file-path=/soft/php
[root@localhost php-7.3.33]# make && make install
//这里花费的时间很长

PHP连接达梦数据库

 创建软连接,输入以下命令

[root@localhost php-7.3.33]# ln -s /usr/local/php/bin/php  /usr/bin/php

PHP连接达梦数据库

 我之前因为解压安装搞了很多遍,因为有的地方有问题。

建议安装目录的文件名字可以和我一样,不然很容易搞混,我前面也是因为文件名把自己搞糊涂了

然后创建软连接的时候出现“文件已存在”的问题,这个时候只要把之前创建的软连接给删除即可

删除软连接的方法:

解决方法:
进入提示目录
cd /usr/bin/ 
删除php
rm -r php
重新建立软连接
ln -s /usr/local/php/bin/php  /usr/bin/php
php -v 

PHP连接达梦数据库

 如上图 输入php -v有显示结果,基本php就安装好了

4、配置DM PHP驱动

[root@localhost php-7.3.33]# cp php.ini-production  /soft/php/php.ini

解压tar包之后,在解压得到的目录里面有如下图两个php.ini文件,一个是开发环境下的,一个是生产环境下的。我们只需要生产环境下的即可,使用cp命令,将php.ini-production文件拷贝至安装目录/soft/php

PHP连接达梦数据库

 在/soft/php目录下,修改php.ini文件,在最末尾添加如下内容

[PHP_DM]
extension_dir ="/dm8/drivers/php_pdo"   //这里的路径是自己达梦8的安装路径
extension=libphp73_dm.so                //这里选择自己的php版本对应的.so文件即可
[dm]
dm.port=5236
; 是否允许持久性连接
dm.allow_persistent = 1
; 允许建立持久性连接的最大数. -1 为没有限制.
dm.max_persistent = -1
; 允许建立连接的最大数(包括持久性连接). -1 为没有限制.
dm.max_links = -1
; 默认的主机地址
dm.default_host = localhost
; 默认登录的数据库
dm.default_db = SYSTEM
; 默认的连接用户名
dm.default_user = SYSDBA
; 默认的连接口令.
dm.default_pw = SYSDBA
;连接超时,这个参数未实际的用到,等待服务器支持
dm.connect_timeout = 10
;对于各种变长数据类型,每列最大读取的字节数。如果它设置为 0 或是小于 0,那么这读取变长字段时,将显示 NULL 值
dm.defaultlrl = 4096
; 是否读取二进制类型数据,如果它设置为 0,那么二进制将被 NULL 值代替
dm.defaultbinmode = 1
;是否允许检察持久性连接的有效性,如果设置为 ON,那么当重用一个持久性连接时会检察该连接是否还有效
dm.check_persistent = ON

PHP连接达梦数据库

 

PHP连接达梦数据库

 使用php -m | grep DM 命令验证DM PHP 驱动模块是否加载成功,如下图

[root@localhost php-7.3.33]# php -m|grep DM

PHP连接达梦数据库

 如果有上图这样的显示则代表驱动加载成功。

5、测试连接

我在/soft/php的目录下面创建了php_conn.php文件测试连接数据库的情况。

PHP连接达梦数据库

<?php
   header("Content-type:text/html;charset=utf-8"); //防止页面乱码
try
{
    $link = dm_connect("localhost:5236", "SYSDBA", "SYSDBA")
        or die("Could not connect : " . dm_error()."\n");  
    //使用 dm_error 会显示 dm 的 php 接口返回的错误,执行成功,则继续往下执行。
    print "php: Connected successfully"."\n"; 
    /*断开连接*/ 
    dm_close($link); 
}
catch(Exception $e)
{
    $e->getMessage() . "<br/>";
}
?>

 

PHP连接达梦数据库

 

PHP连接达梦数据库

 显示连接成功。

更多资讯请上达梦技术社区了解:https://eco.dameng.com

                       

点击阅读全文

上一篇 2023年 6月 7日 am10:54
下一篇 2023年 6月 7日 am10:56