PHP con MSSQL no instalado en centos 7

Quiero conectar el servidor MSSQl a través de PHP en el sistema CentOS Linux. Pero obteniendo el error debajo,

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

Para eso, he referido un sitio y he encontrado soluciones. Pero eso tampoco funciona. Aquí estoy tratando de instalar php5-sybase, pero obtengo algún error,

 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  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=.skip_if_unavailable=true Cannot find a valid baseurl for repo: rpmforge 

Cómo arreglar este problema.

Para instalar el controlador PHP para SQL Server en CentOS, esto es lo que recomendaría:

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

Ahora debería poder conectarse a SQL Server usando un simple script PHP como este:

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

php-mssql que proporciona las extensiones mssql y pdo_dblib está disponible en el repository de EPEL .

Y como se explica en la salida de error de yum, debe deshabilitar rpmforge (y probablemente apt.sw.be_redhat_el2.1_en_mirrors-rpmforge)

Aviso: esta extensión está en desuso y se eliminará en PHP 7. Por lo tanto, para una mejor mantenibilidad, recomiendo usar el controlador PDO.

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

Obtuve el URL del repository de EPEL y lo instalé. pero tengo

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

¿cual es el problema?

No sé si alguien vendrá aquí, pero el problema fue que los rpms opcionales no estaban habilitados. Pasé todo el día en esta desinstalación y reinstalación. Pero luego encontré esta nota al pie en algún lado

NOTA para los usuarios de RHN También debe habilitar el repository ‘opcional’ para usar los paquetes de EPEL ya que dependen de los paquetes en ese repository. Esto se puede hacer habilitando el subcanal opcional RHEL para RHN-Classic. Para suscripciones basadas en certificados, consulte la Guía de administración de suscripciones de Red Hat. Para EPEL 7, además del repository ‘opcional’ (rhel-7-server-optional-rpms), también debe habilitar el repository ‘extras’ (rhel-7-server-extras-rpms).