You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CentOS系统cPanel环境下安装sqlsrv扩展:ini编辑及签名文件疑问

在cPanel(CentOS)环境中安装SQLSRV驱动的完整解决方案

我来帮你解决这两个核心问题,都是cPanel服务器上安装PHP扩展的常见痛点:


一、是否需要复制签名文件?

这取决于你的服务器是否启用了PHP扩展签名验证(cPanel默认开启这个安全机制):

  • 如果启用了签名验证:必须把对应的.sig签名文件和.so扩展文件一起放到/php/ext目录。PHP会校验扩展的签名完整性,没有签名文件的话,扩展会加载失败,你会在PHP错误日志里看到类似zend_extension: cannot validate signature的报错。
  • 如果服务器手动关闭了签名验证(非常少见):不复制签名文件可能也能运行,但从安全和兼容性角度,强烈建议一并复制,避免后续系统更新后出现意外问题。

二、如何编辑PHP配置(绕过cPanel的php.ini编辑限制)

cPanel生成的php.ini确实不能直接手动编辑——系统更新、cPanel操作都可能覆盖你的修改。正确的做法有两种,优先推荐图形界面方式:

方法1:用cPanel自带的MultiPHP INI Editor(最安全)

  1. 登录cPanel面板,找到「软件」栏目下的MultiPHP INI Editor
  2. 选择你要配置的域名对应的PHP版本(cPanel支持多版本PHP共存,别选错了)
  3. 切换到「编辑器模式」或者「基础模式」,添加以下两行配置(根据你的扩展文件名调整,一般是sqlsrv.so和pdo_sqlsrv.so):
    extension=sqlsrv.so
    extension=pdo_sqlsrv.so
    
  4. 点击「保存」,cPanel通常会自动重启PHP服务;如果没生效,你可以在「重启服务」里找到PHP-FPM服务手动重启。

方法2:添加自定义PHP配置文件(适合命令行操作)

如果图形界面不方便,你可以在对应PHP版本的配置目录添加自定义INI文件:

  1. 先找到当前PHP版本的配置目录,格式一般是/opt/cpanel/ea-phpXX/root/etc/php.d/(把XX换成你的PHP版本号,比如74、81)
  2. 在这个目录下创建一个新文件,比如99-sqlsrv.ini(数字前缀确保它最后加载,优先级最高)
  3. 在文件里写入:
    extension=sqlsrv.so
    extension=pdo_sqlsrv.so
    
  4. 保存后重启PHP服务,命令如下(替换XX为你的PHP版本):
    systemctl restart ea-phpXX-fpm.service
    

验证安装是否成功

配置完成后,你可以用两种方式确认:

  • 创建一个phpinfo.php文件,内容为<?php phpinfo(); ?>,访问这个页面搜索sqlsrv和pdo_sqlsrv,能找到相关章节就说明成功了。
  • 或者通过命令行执行:php -m | grep sqlsrv,如果输出sqlsrv和pdo_sqlsrv两个条目,就代表扩展已经正常加载。

内容的提问来源于stack exchange,提问作者TakeDown

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:58:19