2016-05-04 6 views
0

Ich möchte MSSQl Server über PHP in CentOS Linux-System verbinden. Aber immer unter Fehler,PHP mit MSSQL nicht in Centos 7 installieren

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

Dafür habe ich einige Website und gefunden Lösungen. Aber das funktioniert auch nicht. Hier bin ich versucht, php5-sybase zu installieren, aber einige Fehler bekommen,

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 

Wie dieses Problem zu beheben.

Antwort

1

php-mssql die mssql und pdo_dblib Erweiterungen bietet, ist in EPEL Repository zur Verfügung.

Und wie in yum Fehlerausgabe erklärt, sollten Sie deaktivieren RPMForge (und wahrscheinlich apt.sw.be_redhat_el2.1_en_mirrors-RPMForge)

Hinweis: Diese Erweiterung ist veraltet und wird in PHP 7. So entfernt werden, bessere Wartbarkeit, empfehle ich den PDO-Treiber zu verwenden.

yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm 
yum install php-mssql 
+0

Ich habe die Repository-URL von EPEL und installiert. aber ich habe Fehler. [root @ localhost tmp] # yum installieren php5-sybase Loaded plugins: schnellstemirror, langpacks Laden von Spiegelgeschwindigkeiten aus zwischengespeicherten Hostdateien Kein Paket php5-sybase verfügbar. Fehler: Nichts [root @ localhost tmp] # – selvan

+0

Lesen Sie meine Antwort zu tun, ist das Paket php-mssql, nicht php5-sybase –

+0

yum php-MSSQL installieren .... gleiche Problem bekommen – selvan

0

Ich habe die Repository-URL von EPEL und installiert. aber ich habe

[[email protected] tmp]# yum install php5-sybase 
Loaded plugins: fastestmirror, langpacks 
Loading mirror speeds from cached hostfile 
No package php5-sybase available. 
Error: Nothing to do 
[[email protected] tmp]# 

was ist das Problem?

0

Ich weiß nicht, ob jemand hierher kommen wird, aber das Problem mit mir war, dass die optionalen RPMs nicht aktiviert waren. Ich habe den ganzen Tag damit verbracht, diese zu deinstallieren und neu zu installieren. Aber dann fand ich diese Fußnote irgendwo

ANMERKUNG für RHN Benutzer Sie müssen auch das 'optionale' Repository aktivieren, um EPEL-Pakete zu verwenden, da sie von Paketen in diesem Repository abhängen. Dies kann durch Aktivieren des optionalen RHEL-Unterkanals für RHN-Classic erfolgen. Für zertifikatsbasierte Abonnements siehe Red Hat Subscription Management Guide. Für EPEL 7 müssen Sie zusätzlich zum 'optionalen' Repository (rhel-7-server-optional-rpms) auch das Repository 'extras' (rhel-7-server-extras-rpms) aktivieren.

3

Um die PHP-Treiber für SQL Server auf CentOS zu installieren, hier ist das, was ich empfehlen würde:

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*||"` 

Jetzt sollten Sie einen einfachen PHP-Skript SQL Server verbinden können, mit wie diese:

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

Lebensretter, dies funktionierte auf Centos 7 ... vielen Dank – m453h