带有 MSSQL 的 PHP 未安装在 centos 7 中

标签 php sql-server linux centos

我想在CentOS Linux系统中通过PHP连接MSSQl服务器。但是低于错误,

Fatal error: Call to undefined function mssql_connect() in /var/www/h.....

为此,我引用了一些网站并找到了解决方案。但这也行不通。 我在这里尝试安装 php5-sybase,但出现一些错误,

yum install php5-sybase
Loaded plugins: fastestmirror, langpacks
apt.sw.be_redhat_el2.1_en_mirrors-rpmforge| 1.9 kB  00:00:00
remi-safe                                 | 2.9 kB  00:00:00


 One of the configured repositories failed (Unknown),
 and yum doesn't have enough cached data to continue. At this point the only
 safe thing yum can do is fail. There are a few ways to work "fix" this:

     1. Contact the upstream for the repository and get them to fix the problem.

     2. Reconfigure the baseurl/etc. for the repository, to point to a working
        upstream. This is most often useful if you are using a newer
        distribution release than is supported by the repository (and the
        packages for the previous distribution release still work).

     3. Disable the repository, so yum won't use it by default. Yum will then
        just ignore the repository until you permanently enable it again or use
        --enablerepo for temporary usage:

            yum-config-manager --disable <repoid>

     4. Configure the failing repository to be skipped, if it is unavailable.
        Note that yum will try to contact the repo. when it runs most commands,
        so will have to try and fail each time (and thus. yum will be be much
        slower). If it is a very temporary problem though, this is often a nice
        compromise:

            yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true

Cannot find a valid baseurl for repo: rpmforge

如何解决这个问题。

最佳答案

要在 CentOS 上安装适用于 SQL Server 的 PHP 驱动程序,以下是我的建议:

sudo su
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssql-release.repo
exit
sudo ACCEPT_EULA=Y yum install msodbcsql
sudo yum install unixODBC-devel
yum groupinstall "Development Tools"
sudo pecl install sqlsrv pdo_sqlsrv
sudo echo "extension= pdo_sqlsrv.so" >> `php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"`
sudo echo "extension= sqlsrv.so" >> `php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"`

现在您应该能够使用像这样的简单 PHP 脚本连接到 SQL Server:

<?php
$serverName = "localhost";
$connectionOptions = array(
    "Database" => "SampleDB",
    "Uid" => "sa",
    "PWD" => "your_password"
);
//Establishes the connection
$conn = sqlsrv_connect($serverName, $connectionOptions);
if($conn)
    echo "Connected!"
?>

关于带有 MSSQL 的 PHP 未安装在 centos 7 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37027457/

相关文章:

html - 如何在 ui 中显示呈现的 html 文本?

sql-server - MS SQL 服务器的日期/时间值字符串表示的独立格式?

linux - 使用 CSV 文件中的换行符重新格式化项目

linux - 我如何让 VLC 2.x 在我的 Linux 下工作?

php - 如何告诉用户数据库中没有用户输入的特定日期的数据

php - 检查方法是否为假然后输出结果

php - 检测短信 : browser support on Browser

sql - SQL Server 中 _%_% 和 __% 之间的区别

php - 为网络爬虫优化 PHP CURL

php - 显示 Apache 当前正在运行的 php 脚本