Pecl安装sqlsrv返回“无可用软件包版本”

4
在安装PHP7的sqlsrv模块时,我遇到了以下错误 -

包“pecl.php.net/sqlsrv”没有可用的版本

使用的命令是:
sudo pecl install sqlsrv 

有任何解决此问题的想法吗?

你正在运行哪个命令? - Samuel Cook
@SamuelCook更新了我的问题-很抱歉。 - Praveen Govind
5个回答

6

我也遇到了同样的问题... 在Ubuntu 16.04上以root的身份安装模块可以解决该问题:

    wget http://pecl.php.net/get/sqlsrv-4.3.0.tgz
    pear install sqlsrv-4.3.0.tgz

    wget http://pecl.php.net/get/pdo_sqlsrv-4.3.0.tgz
    pear install pdo_sqlsrv-4.3.0.tgz

您可以在此处检查最新可用版本:http://pecl.php.net/package-search.php?pkg_name=sqlsrv&bool=AND&submit=Search 安装后请检查PHP模块是否已启用:
    php -m | grep sqlsrv   

1
对于企业代理用户,您可能只需要告诉pear使用您的代理。
pear config-set http_proxy http://proxy.example.com:8080

1
尝试安装您知道存在的特定版本:
$ pecl install sqlsrv-4.3.0

也尝试清除缓存:

$ pear clear-cache

无法获取“pecl.php.net/sqlsrv”软件包的任何版本 安装失败 - Davide
清除缓存起作用了,谢谢。 - wivku

0
有时 pecl.php.net 不可用或宕机。在这种情况下 pecl install 可能会显示 "no releases available"。
只是提供信息。

0
安装pecl/sqlsrv需要PHP版本>=7.2.0。pecl存储库中已删除了适用于PHP 7.1的sqlsrv扩展。
支持PHP 7.1的旧版sqlsrv的预编译二进制文件可以在https://github.com/microsoft/msphpsql/releases/tag/v5.6.1找到。
支持PHP 7.0的旧版sqlsrv的预编译二进制文件可以在https://github.com/microsoft/msphpsql/releases/tag/v5.3.0找到。
还可以使用较旧的系统PHP版本。例如,为了连接到CentOS 7上的MSSQL,并使用系统PHP版本5.4,需要执行以下命令:
yum install epel-release
yum install php-mssql

在这里可以找到安装SQL Server Linux的Microsoft驱动程序的说明:https://learn.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-ver16&tabs=alpine18-install%2Calpine17-install%2Cdebian8-install%2Credhat7-13-install%2Crhel7-offline 对于PLESK用户的说明:https://support.plesk.com/hc/en-us/articles/12377482190999--How-to-install-the-sqlsrv-extension-for-the-Plesk-PHP-handlers-

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接