OpenLiteSpeed 上的 MSSQL PDO?
Posted
技术标签:
【中文标题】OpenLiteSpeed 上的 MSSQL PDO?【英文标题】:MSSQL PDO on OpenLiteSpeed? 【发布时间】:2021-11-10 22:54:22 【问题描述】:有人知道如何在 OpenLiteSpeed 中安装 Microsoft SQL PDO php 驱动程序吗?我找了又找,一无所获。
最好是 PHP7.4,但如果您知道如何在任何 7.x 中执行此操作,它应该可以工作。
谢谢!
【问题讨论】:
我对 openlitespeed 了解不多,但根据openlitespeed.org/kb/default-php-settings-for-openlitespeed 的说法,PHP 不托管在 openlitespeed 中,而只是作为可执行文件调用。因此,从逻辑上我们可以看出,任何 PHP 组件的安装都与 openlitespeed 本身无关。我怀疑您最好搜索有关如何在特定操作系统上安装该驱动程序的说明。详情请见docs.microsoft.com/en-us/sql/connect/php/…。 @ADyson - 是还是不是? OLS 使用它自己编译的 php "LSPHP" 版本,因此尝试调用 php 驱动程序的正常安装方法不起作用。 【参考方案1】:要获取 pdo_sqlsrv,我们可以使用 PECL Extension For LSPHP。
-
安装pear包
sudo apt-get install lsphp74-pear -y
-
为将使用 unixODBC 库的程序安装开发文件
apt install unixodbc-dev -y
-
设置从 lsphp74 到 PHP 的软链接
ln -s /usr/local/lsws/lsphp74/bin/php /usr/bin/php
-
pecl 安装
pecl install pdo_sqlsrv
如果编译成功,你应该会看到这样的输出。
Build process completed successfully
Installing '/usr/local/lsws/lsphp74/lib/php/20190902/pdo_sqlsrv.so'
install ok: channel://pecl.php.net/pdo_sqlsrv-5.9.0
configuration option "php_ini" is not set to php.ini location
You should add "extension=pdo_sqlsrv.so" to php.ini
-
将编译好的文件添加到php.ini中
echo 'extension=pdo_sqlsrv.so' >> /usr/local/lsws/lsphp74/etc/php/7.4/litespeed/php.ini
-
在 php.ini 中启用扩展后,需要重新启动 Web 服务才能获取更改。
systemctl restart lsws
【讨论】:
非常感谢!这在我发现的任何地方都没有记录。正在编译! 没问题。由于扩展太多,LS提供了一些常用的包。要构建其他包,我们也可以关注docs.litespeedtech.com/extapp/php/extensions/…,其中显示了一些基本命令。 还必须使用它来解决 pecl 问题:***.com/questions/15692349/… 感谢分享,不过我没打到。以上是关于OpenLiteSpeed 上的 MSSQL PDO?的主要内容,如果未能解决你的问题,请参考以下文章
如何在CentOS 8中安装OpenLiteSpeed Web服务器
markdown 设置一个新的数字海洋 - OpenLiteSpeed Wordpress Droplet
301 RewriteRule 在 OpenLiteSpeed 中完美运行,但只有 95% 的时间