Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

1.2K
Visualizações
PDO sqlsrv: no se pudo encontrar el controlador

Estoy tratando de conectarme a un servidor SQL en PHP. Con XAMPP en mi máquina local, todo funciona bien. Pero ahora voy a llevar mi aplicación al servidor de producción.

En este servidor se encuentra instalado Microsoft IIS 6.1 y ejecutando PHP versión 7.0.7 . También instalé el controlador ODBC desde aquí . A continuación, elimino la siguiente línea en mi archivo php.ini:

 extension=php_sqlsrv_7_nts.dll extension=php_pdo_sqlsrv_7_nts.dll

Obtuve los archivos del sitio oficial de Microsoft .

¿Cuál es mi problema?

Desafortunadamente, después de reiniciar IIS. La función PDO arroja el error PDOException con el siguiente mensaje:

 could not find driver

Para la conexión estoy usando la siguiente función que funciona bastante bien en mi máquina local:

 try { $con = new PDO("sqlsrv:Server=" . SERVER . ";Database=" . DATABASE, USERNAME, PASSWORD); // set the PDO error mode to exception $con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { echo "No connection: " . $e->getMessage(); exit; }

¿Qué más puedo hacer?

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Aquí hay un proceso detallado si es útil para alguien. PHP Version - 7.4

  1. Descargue y extraiga los archivos .dll desde este enlace: https://docs.microsoft.com/en-us/sql/connect/php/download-drivers-php-sql-server?view=sql-server-ver15

  2. Pegue los archivos en C:\xampp\php\ext , su ruta podría ser diferente.

  3. en php.ini agregue esas dos líneas en la parte inferior o en la sección de extensión.

     extension=php_sqlsrv_74_ts_x64.dll extension=php_pdo_sqlsrv_74_ts_x64.dll
  4. Reinicie su servidor Xampp, le sugiero que reinicie su computadora y todo funcionará sin problemas.

Compruebe si SqlSRV está habilitado

Verifique usando phpinfo() o http://localhost/dashboard/phpinfo.php de esta manera:

Comprobación del controlador SQLSrv en la información de PHP

Espero que ayude a alguien.

over 4 years ago · Santiago Trujillo Relatório

0

Después de encontrar el registro de errores en el servidor de Windows, resolví el error yo mismo.

Recibí este error en mi registro:

 [21-Apr-2017 07:12:14 UTC] PHP Warning: PHP Startup: Unable to load dynamic library '...\ext\php_pdo_sqlsrv_7_nts.dll' - %1 is not a valid Win32 application. in Unknown on line 0

Luego volví a descargar el controlador e instalé el controlador x64. Finalmente funciona sin ningún problema.

over 4 years ago · Santiago Trujillo Relatório

0

Me tomó un tiempo resolver el error 'Sin controlador'. Seguí algunos pasos como se menciona aquí y encontré algunos otros que me ayudaron después de nuevos errores. Para futuras referencias:

  • Descargue los controladores más recientes de Microsoft (como dijo Julian Schmuckli).
  • Compruebe si su XAMPP es de 64 bits (!) Con Phpinfo() . Si tiene 32 bits, necesita controladores diferentes.
  • Agregue los controladores a su archivo Php.ini y guarde los dll en su carpeta php/ext (cuestión de saber tabatabaee yazdi).
  • Para la conexión, utilice este código:
 $dbh = new PDO ("sqlsrv:Server=$server;Database=$dbname",$username,$pw);

Si agrega un puerto, use:

 $server = "192.168.1.15, 51022";

Donde la IP (puede ser el nombre de host) es su servidor y 51022 su puerto.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda