PHP7.3加载达梦数据库驱动(linux环境)

本文详细指导如何在CentOS 7环境中安装达梦数据库,配置PHP 7.3,设置Nginx,集成php-fpm,并配置PHP扩展以连接达梦数据库,包括环境变量设置和PHP模块加载。

linux环境(centos7为例)

1.安装达梦数据库并创建实例。
2.安装PHP环境。
第一步:下载php源码并预配置

#安装wget工具

yum install wget -y

#下载php源码

wget https://www.php.net/distributions/php-7.3.12.tar.gz

#解压php tar包

tar xf php-7.3.12.tar.gz

#进入php解压后的目录

cd php-7.3.12

#预配置

./configure --prefix=/usr/local/php \\

    --with-config-file-path=/usr/local/php/etc \\

    --with-config-file-scan-dir=/usr/local/php/etc/conf.d \\

    --disable-cgi \\

    --enable-fpm \\

    --with-fpm-user=www \\

    --with-fpm-group=www \\

    --enable-ftp \\

    --with-curl \\

    --with-gd \\

    --with-gettext \\

    --with-iconv-dir \\

    --with-kerberos \\

    --with-libedit \\

    --with-openssl \\

    --with-pcre-regex \\

    --with-pdo-mysql \\

    --with-xsl \\

    --with-zlib \\

    --with-mhash \\

    --with-mysqli \\

    --with-png-dir=/usr/lib \\

    --with-jpeg-dir=/usr/lib\\

    --with-freetype-dir=/usr/lib \\

    --enable-mysqlnd \\

    --enable-bcmath \\

    --enable-libxml \\

    --enable-inline-optimization \\

    --enable-gd-jis-conv \\

    --enable-mbregex \\

    --enable-mbstring \\

    --enable-opcache \\

    --enable-pcntl \\

    --enable-shmop \\

    --enable-soap \\

    --enable-sockets \\

    --enable-sysvsem \\

    --enable-xml \\

    --enable-zip \\

    --enable-calendar \\

    --enable-intl \\

    --enable-exif

查看最后输出是否出现error:
如果没有error出现,并且出现如下字眼,则进行下一步

Thank you for using PHP

第二步:进行编译安装

make && make install

第三步:创建启动脚本

cp php.ini-development  /usr/local/php/etc/php.ini 

cd /usr/local/php/etc/

cp php-fpm.conf.default  php-fpm.conf

默认官方提供了一个systemd管理脚本

路径为:/root/php-7.3.12/sapi/fpm下php-fpm.service

#复制一份配置文件

cp php-fpm.conf.default php-fpm.conf

#拷贝启动脚本到指定目录

cp /root/php-7.3.13/sapi/fpm/php-fpm.service /usr/lib/systemd/system/

systemctl daemon-reload

systemctl start php-fpm

systemctl enable php-fpm

systemctl status php-fpm

这个时候还没完,启动 会提示你找不到包含的配置文件:

cd /usr/local/php/etc/php-fpm.d/

cp www.conf.default www.conf

systemctl start php-fpm

systemctl status php-fpm

这个时候不出意外就是正常状态:

查看进程是否存在

ps -ef|grep php-fpm

查看端口是否启动:

ss -lntup|grep 9000

3.安装Nginx

yum install -y nginx

4.配置Nginx,vi /etc/nginx/nginx.conf, 配置server。

server {
        listen       80;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        error_page 404 /404.html;
        location = /404.html {
        }

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
        }

        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

    }

5.在Nginx的映射路径中添加测试页面。

cd /usr/share/nginx/html

vi index.php

<?php
phpinfo();
?>

#wq 保存并退出

6.重启Nginx

service nginx restart

浏览器中访问 http://IP:端口/index.php
在这里插入图片描述
7.找到页面中Thread Safety
在这里插入图片描述
8.Thread Safety为enable选择ts扩展包。
在这里插入图片描述
9.拷贝达梦数据库驱动到PHP扩展路径 /usr/local/php/lib/php/extensions/no-debug-non-zts-20180731中。

cp /home/dmdba/drivers/php_pdo/* /usr/local/php/lib/php/extensions/no-debug-non-zts-20180731

10.配置php.ini,在末尾添加如下参数。(注意根据Thread Safety和PHP版本选择扩展包)

;扩展路径:
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20180731"
;扩展包名:
extension=libphp73_dm.so
extension=php73_pdo_dm.so
;DM默认连接参数:
[dm]
; 是否允许持久性连接
dm.allow_persistent = 1
; 允许建立持久性连接的最大数. -1 为没有限制.
dm.max_persistent = -1
; 允许建立连接的最大数(包括持久性连接). -1 为没有限制.
dm.max_links = -1
; 默认的主库地址
dm.default_host = 127.0.0.1
; 默认的连接用户名
dm.default_user = SYSDBA
; 默认的连接口令.
dm.default_pw = SYSDBA

11重启PHP服务

#停止服务
service php-fpm stop

#启动服务
service php-fpm start

#查看状态

service php-fpm status

12.通过php -m进行测试 如果出现异常

PHP message: PHP Fatal error:  Unable to start dm module in Unknown on line 0

检测环境变量中是否添加数据库bin路径,
假定安装到/usr/local/DMDBMS 目录。修改 php.ini,添加 extension_dir=drivers/php_pdo,extension=libphp53_dm.so,添加 php.ini中有关连接的配置。设置环境变量 export LD_LIBRARY_PATH=/usr/local/DMDBMS/bin。
在/etc/bashrc中加入了上述的环境变量并重启了电脑,然而并没有什么作用,百度了一圈也没什么结果,本来打算暂时放弃,以后再说,突然想到动态链接库的话,是不是可以通过ld相关命令来解决,于是乎在/etc/ld.so.conf.d/下面建立了dm.conf,写入了需要设置环境变量的路径,然后ldconfig加载使之生效,果然解决问题了。
13.通过php -m 测试,扩展包加载成功
在这里插入图片描述
页面显示驱动加载成功
在这里插入图片描述

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值