centos - 在使用 CentOS、Plesk、php-fpm 的服务器上为 SQL Anywhere 安装 php 扩展
问题描述
我们得到了一个带有 CentOS、Plesk 和 php-fpm 的新 WebServer。现在我们没有运行 php 扩展。
我们做了什么:
- 安装了最新的 SQL Anywhere 17 (ebf29577)
- 将 php-7.3.0_sqlanywhere_r.so 复制到 /opt/plesk/php/7.3/lib64/php/modules/
- 通过 /opt/plesk/php/7.3/etc/php.d/sqlanywhere.ini 加载 php-7.3.0_sqlanywhere_r.so
- 这会导致错误:警告:[pool plesk-php73-fpm.plesk-service.localdomain] child 11616 对 stderr 说:“注意:PHP 消息:PHP 警告:sqlanywhere 模块的 request_startup() 在第 0 行的未知中失败” (这导致 php 7.3 fpm 根本没有加载)
- 下一次尝试是从 FPM 切换到 CGI:同样的错误
- 如果使用路径 /opt/sqlanywhere17/lib64/ 增强了 LD_LIBRARY_PATH,则模块本身可以在 shell 中加载
- 一些尝试通过 strace 找到原因并没有帮助
有没有人有想法,甚至可能成功安装了 php 扩展。
谢谢弗洛里安
解决方案
经过大量测试,我们找到了解决方案:在 Plesk Domain php 设置中,我们必须添加:
[php-fpm-pool-settings]
env[LD_LIBRARY_PATH]="/opt/sqlanywhere_v2/lib64:$LD_LIBRARY_PATH"
现在找到了所有库并且可以正常工作
推荐阅读
- live-streaming - 全球服务器上的 Jetson Nano 远程桌面
- dynamics-crm - Dynamics CRM 和 ADF 管道域
- visual-studio-code - 节点不在 vs 代码的集成终端中运行
- php - 在 Codeigniter 中创建备份 Zip 文件,但在 PhpmyAdmin 中导入此文件时,它不会导入
- java - 带有 Ant 的 Netbeans 12 如何更改默认 lib 文件夹
- hosting - “ea-php73”没有“CLI”二进制文件,使用默认...
- python - 如何在 Python Heatmap 中添加矩形补丁?
- kotlin - “无法为初始化脚本打开初始化通用类缓存”
- count - 如何在列表列表中找到两个元素一起出现的次数?
- ios - iOS13及以上及以下iOS13的UIDatePicker