PHP: Instalar PDO_SQLSRV en Linux

Buscando en los modulos de Ubuntu/Debian no aparece la extensión para PHP de PDO_SQLSRV, solamente tenemos:

  • php7.0-pdo-firebird
  • php7.0-pdo-pgsql
  • php7.0-pdo-sqlite
  • php7.0-pdo-odbc
  • php7.0-pdo-mysql
  • php7.0-pdo-dblib

Y nada que diga php7.0-pdo-sqlsrv, pero la solución es compilar la extensión manualmente, gracias a PEAR, como root ejecutamos:

apt-get install unixodbc-dev php7.0-dev php-pear

pecl install pdo_sqlsrv-4.0.5

echo -e “; priority=20\nextension=pdo_sqlsrv.so” > /etc/php/7.0/mods-available/pdo_sqlsrv.ini

phpenmod -v 7.0 pdo_sqlsrv

/etc/init.d/php7.0-fpm restart

Y listo, deberíamos de tener en nuestro phpinfo() algo así:

Si utilizamos windows, descargamos la extensión desde aquí: Microsoft Drivers for PHP for SQL Server y este link para instalar el driver Microsoft ODBC Driver 13 for SQL Server

Y listo, ya nos podemos conectar al servidor SQL Server desde PHP.

Instalar extensión OpCache en XAMPP

La manera de instalar una extensión en PHP es editar el archivo PHP.ini y agregar extension=php_EXTENSION.dll o php_EXTENSION.so (sí no utilizas windows) pero al querer agregar la extensión de OpCache lo tradicional sería:

extension=php_opcache.dll

Pero el archivo de error.log arroja lo siguiente:

PHP Warning: PHP Startup: Invalid library (appears to be a Zend Extension, try loading using zend_extension=php_opcache.dll from php.ini) in Unknown on line 0

Aquí la solución es agregar la extensión pero de Zend, quedando así:

zend_extension=php_opcache.dll

Reinicias el servicio de Apache y listo!,