Ich habe eine Codeigniter 3 App, die eine Verbindung zu einer SQL Server 2008-Datenbank herstellt. Wir haben eine neue VM mit Windows Server 2012 R2 64bit, SQL Server Express 2012 und XAMPP mit PHP 5.6 eingerichtet.PHP PDO sqlsrv Undefinierte Klassenkonstante SQLSRV_ENCODING_UTF8
Wir zogen die App es, die MSODBC installiert und die pdo_sqlsrv Version 3.2 DLL in den Erweiterungsordner hinzugefügt und in der ini-Datei geladen, aber wenn wir die App wir haben diese Fehlermeldung gestartet:
Undefined class constant SQLSRV_ENCODING_UTF8 in pdo_sqlsrv_driver.php on line 144
Ich habe die Dokumente überprüft und alles scheint richtig, also haben wir versucht, alles ohne Glück neu zu installieren. Was könnte möglicherweise das Problem sein?
Haben Sie den neuesten PHP/PDO-Treiber? Diese Konstante ist in der Microsoft-Bibliothek definiert (nur Windows-basiertes PHP): https://msdn.microsoft.com/en-us/library/cc296183%28v=sql.105%29.aspx?f=255&MSPPError=-2147217396 Für meinen Teil, löste ich dies durch die Verwendung von ODBC stattdessen: http://geekanddummy.com/codeignter-3-connecting-to-ms-sql-from-linux/ –
Nach mehr Forschung in es behoben ich es durch Angabe eines Standard-TCP-Port in SQL Server-Konfigurationsmanager –
Ziemlich irreführende Fehlermeldung, wie! –