【YashanDB 数据库】PHP 无法通过 ODBC 连接到数据库
【问题分类】驱动使用
【关键字】ODBC、驱动使用、PHP
【问题描述】应用使用 php-fpm+nginx 架构,通过 php 的 ODBC 拓展连接 YashanDB 时出现报错:
复制代码
但是在应用所在的主机上使用 isql 连接 YashanDB 数据库正常,ldd 检查/home/yashandb_odbc/libyas_odbc.so 和 libyascli.so.0 均正常。
【问题原因分析】php-fpm 和 nginx 均通过 systemctl 的方法启动,该启动方式不会读取配置到机器中的环境变量,导致 php-fpm 的 workers 进程无法正确获取到 ODBC 的驱动文件
【解决/规避方法】
方法一:
在/lib/systemd/system/php-fpm.service 的[Service]部分添加环境文件
复制代码
在/etc/sysconfig/php-fpm 中添加以下内容:
复制代码
添加完成后需要重新启动 php-fpm 服务:
复制代码
方法二:
在/lib/systemd/system/php-fpm.service 的[Service]部分添加环境变量
复制代码
添加完成后需要重新启动 php-fpm 服务:
复制代码
【影响范围】所有版本
【修复版本】-
评论