Das LinUX (centOS6.8)-System ThinkPHP5 verknüpft mit der pdo_dblib-Erweiterung der MsSQL-Datenbank
Der erste Schritt besteht darin, freetds-current.tar.gz herunterzuladen und zu installieren. Die Download-Adresse lautet wie folgt:
ftp://ftp.freetds.org/pub/freetds/current/freetds-current.tar.gz
1.1 Laden Sie den Ordner herunter, entpacken Sie ihn und geben Sie ihn ein (Sie können ihn auch entpacken und dann auf den Linux-Server hochladen) wget ftp://ftp.freetds.org/pub/freetds/current/freetds-current.tar.gz
tar zxvf freetds-current.tar.gz
cd freetds-stable
* Überprüfen Sie den Pfad nach der Dekomprimierung.
1.2 ./configure ausführen./configure --prefix=/usr/local/freetds --with-tdsver=7.1 --enable-msdblib
1.3 make install ausführenmake && make install
Der zweite Schritt besteht darin, die pdo_dblib-Erweiterung von PHP zu installieren
Wenn Ihr PHP nicht im /usr/local-Pfad installiert ist, müssen Sie es in Ihren eigenen PHP-Pfad ändern cd /root/scr/php/ext/pdo_dblib
Wenn mein PHP-Installationspfad beispielsweise /www/wdlinux/apache_php-5.6.21/ ist, werde ich es tun Führen Sie /www/wdlinux/ apache_php-5.6.21/bin/phpize/usr/local/php/bin/phpize
aus
2.3 Führen Sie ./configure aus. Dasselbe wie oben. Wenn Ihr PHP nicht im /usr/local-Pfad installiert ist, müssen Sie es in Ihren eigenen PHP-Pfad ändern
Mein PHP-Installationspfad ist beispielsweise /www/wdlinux/apache_php -5.6.21/ dann ./configure --with-php-config=/www/wdlinux/apache_php-5.6.21/bin/php-config --with-pdo-dblib=/usr/local/freetds./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-dblib=/usr/local/freetds
2.4 Führen Sie make install aus
Der dritte Schritt besteht darin, php.ini wie oben zu ändern. Wenn Ihr PHP nicht im /usr/local-Pfad installiert ist, müssen Sie es in Ihren eigenen PHP-Pfad ändernmake && make install
Mein PHP-Installationspfad ist beispielsweise /www/wdlinux/apache_php-5.6.21/
3.1 Überprüfen Sie den Pfad der kompilierten Datei
Gehen Sie zu /usr/local/php/lib/php/extensions und prüfen Sie, ob darin oder in den untergeordneten Verzeichnissen
Dateien mssql.so und pdo_dblib.so vorhanden sind
Wenn es vorhanden ist, bedeutet dies, dass die Kompilierung erfolgreich war
3.2 Ändern Sie php.ini
, fügen Sie unten den folgenden Code hinzu und speichern Sie die vi-Änderung (drücken Sie zuerst i, um in den Bearbeitungsmodus zu gelangen. Nachdem das Hinzufügen erfolgreich war, drücken Sie die Esc-Taste, um den Bearbeitungsmodus zu verlassen, und geben Sie Folgendes ein: wq und drücken Sie zum Speichern die Eingabetaste) vi /usr/local/php/etc/php.ini
extension ="/usr/local/php/lib/php/extensions/mssql.so"extension="/usr/local/php/lib/php/extensions/mssql.so"<br>
extension="/usr/local/php/lib/php/extensions/pdo_dblib.so"
extension="/usr/local/php/lib/php/extensions/pdo_dblib.so"Unterschiedliche Server können unterschiedliche Codes haben und meine PHP-Installations- und Kompilierungspfade sind unterschiedlichextension="/www/wdlinux/apache_php-5.6.21/lib/php/extensions/no-debug-non-zts-20131226/mssql.so"<br>
extension="/www/wdlinux/apache_php-5.6.21/lib/php/extensions/no-debug-non-zts-20131226/pdo_dblib.so"
extension="/www /wdlinux /apache_php-5.6.21/lib/php/extensions/no-debug-non-zts-20131226/mssql.so"service httpd restrat
extension="/www/wdlinux/apache_php-5.6.21/lib/php/extensions/no-debug-non-zts-20131226/pdo_dblib.so"3.3 Nachdem alles erledigt ist, starten Sie Apache neu Sie können auch „reboot“ eingeben, um den Server neu zu starten
3.4 Wenn Sie sich unwohl fühlen, überprüfen Sie die PHP-Probedatei, um zu sehen, ob mssql und pdo_dblib erfolgreich installiert wurden
Schritt 4 Laden Sie den Anhang herunter und kopieren Sie die Datenbanktreiber-Erweiterungsdatei in die ThinkPHP-Datei
Legen Sie die Datei unter /thinkphp/library/think/db im Hauptprogramm
ab
Es gibt zwei Dateien im Builder- bzw. Connector-Ordner. Die beiden Fragen haben den gleichen Namen, beide sind Dblib.php, können aber nicht verwechselt werden
Schritt 5 Konfigurieren Sie die Datei „database.php“ return [<br>
//Datenbanktyp<br>
'type' => 'dblib',<br>
// Serveradresse<br>
'hostname' => '192.168.1.210',<br>
// Datenbankname<br>
'database' => 'Mikkle_WeiXin',<br>
// Benutzername<br>
'Benutzername' => 'sa',<br>
//Passwort<br>
'passwort' => '123123123123123',<br>// Port<br>
'hostport' => '1433',<br>
// DSN verbinden<br>
'dsn' => '',<br>
//Datenbankverbindungsparameter<br>
'params' => [],<br>
//Die Datenbankkodierung ist standardmäßig utf8<br>
'charset' => 'utf8',<br>
// Datenbanktabellenpräfix<br>
'prefix' => 'WeiXin_',<br>
// Datenbank-Debugging-Modus<br>
'debug' => true,<br>
// Datenbankbereitstellungsmethode: 0 zentralisiert (einzelner Server), 1 verteilt (Master-Slave-Server) <br>
'deploy' => 0,<br>
// Ist das Lesen und Schreiben der Datenbank getrennt? Die Master-Slave-Methode ist gültig <br>
'rw_separate' => false,<br>
// Anzahl der Primärserver nach Trennung von Lesen und Schreiben <br>
'master_num' => 1,<br>
// Geben Sie die Seriennummer des Slave-Servers an <br>
'slave_no' => '',<br>
// Ob streng geprüft werden soll, ob das Feld existiert<br>
'fields_strict' => true,<br>
//Datensatz-Rückgabetyp-Array-Array-Sammlung Sammlungsobjekt<br>
'resultset_type' => 'array',<br>
// Ob das Zeitstempelfeld automatisch geschrieben werden soll<br>
'auto_timestamp' => true,<br>
// Müssen Sie eine SQL-Leistungsanalyse durchführen?<br>
'sql_explain' => false,<br>
];
Ok und du bist fertig
Thinkphp5 Pdo_dblib extension.zip ( 3,16 KB Download: 1 Mal)