antecedentes
Hace dos días escribí un artículo sobre cómo instalar extensiones MSSQL para PHP 5.6 en OSX MAMP . Se trata de cómo instalar extensiones para tu computadora personal, es decir, cómo PHP 5.6
instalar las MSSQL
extensiones en el entorno de desarrollo . Ahora va a ser en producción, y continuaré hablando sobre cómo CentOS7
instalar PHP - MSSQL
extensiones.
Entorno operativo
Sistema operativo
-
Versión de CentOS Linux 7.8.2003 (Core)
Entorno integrado
-
pagoda
-
PHP 5.6.40
paso
Como antes, primero resolvamos los pasos generales:
1. Instalar freetds
2. Instalar la mssql.so
extensión ( php
la mssql
extensión depende de freetds
)
En general OSX
, los pasos para instalar la extensión son los mismos.
pasos detallados
1. Descarga freetds
Ejecute los siguientes scripts en secuencia:
cd / usr / local / src / wget ftp://ftp.freetds.org/pub/freetds/stable/freetds-patched.tar.gz tar -zxvf freetds-patched.tar.gz123
Es decir, ingrese al /usr/local/src
directorio (generalmente pongo aquí el código fuente utilizado para la compilación), descargue freetds
el código fuente y luego descomprímalo.
2. Instalación freetds
Ejecute los siguientes scripts en secuencia:
cd freetds-1.2 / ./configure --prefix = / usr / local / freetds --with-tdsver = 7.4 --enable-msdblib make && make install123
Presta atención a lo anterior freetds-1.2
, dependiendo de las diferentes freetds
versiones que descargaste , aquí puede ser diferente, de todos modos, solo ingresa a la carpeta que descomprimiste. Entonces --with-tdsver=7.4
aquí, SqlServer
puede elegir de manera flexible de acuerdo con las diferentes versiones. Para obtener más detalles, puede consultar la siguiente figura para elegir usted mismo. Estoy usando SqlServer 2012
, por lo que la 7.4
versión seleccionada :
El contenido seleccionado de la versión anterior proviene del
freetds
documento oficial, dirección del documento: https://www.freetds.org/userguide/ChoosingTdsProtocol.html
3. Configuración freetds
Ejecute los siguientes comandos en secuencia para inicializar la freetds
configuración:
echo "/ usr / local / freetds / lib /"> /etc/ld.so.conf.d/freetds.conf ldconfig12
No se necesita ninguna otra configuración. Hay algunos tutoriales en Internet para escribir la información de conexión a freetds.conf
configurar MSSQL
. De hecho, no es necesario, puedes configurarlo cuando lo llames, es decir PHP
, configurarlo en el código , que es tan flexible.
4. Prueba freetds
Ejecute el siguiente comando para ver la freetds
versión:
# / usr / local / freetds / bin / tsql -C Configuración de tiempo de compilación (establecida con el script "configure") Versión: freetds v1.2 directorio freetds.conf: / usr / local / freetds / etc MS db-lib source compatibilidad: sí Compatibilidad binaria de Sybase: no Seguridad de subprocesos: sí biblioteca iconv: sí Versión de TDS: 7.4 iODBC: no unixodbc: no inicios de sesión SSPI "confiables": no Kerberos: no OpenSSL: sí GnuTLS: no MARTE: sí12345678910111213141516
Ejecute el siguiente comando para probar la freetds
conexión:
# / usr / local / freetds / bin / tsql -H example.com -p 1433 -U nombre de usuario -P contraseña la configuración regional es "en_US.UTF-8" el juego de caracteres de la configuración regional es "UTF-8" usando el juego de caracteres predeterminado "UTF-8" 1> seleccione @@ versión 2> vaya a Microsoft SQL Server 2012 - 11.0.2100.60 (X64) 10 de febrero de 2012 19:39:15 Copyright (c) Microsoft Corporation Standard Edition (64 bits) en Windows NT 6.2 <X64> (compilación 9200:) (Hipervisor) (1 fila afectada) 12345678910111213
Donde example.com
está MSSQL
la host
dirección, username
y password
es MSSQL
el nombre de usuario y la contraseña respectivamente.
5. Descarga el PHP-5.6.40
código fuente
Ejecute los siguientes scripts en secuencia:
cd / usr / local / src / wget https://www.php.net/distributions/php-5.6.40.tar.gz tar -zxvf php-5.6.40.tar.gz123
Es freetds
igual que la descarga anterior , por lo que no la repetiré aquí.
6. Instale la PHP-5.6.40-MSSQL
extensión
Ejecute los siguientes scripts en secuencia:
cd php-5.6.40 / ext / mssql / / www / server / php / 56 / bin / phpize ./configure --with-php-config = / www / server / php / 56 / bin / php-config - with-mssql = / usr / local / freetds / make && make install1234
La /www/server/php/56/bin/
ruta anterior , porque la php
ruta de instalación utilizada en la pagoda es esta, por lo que la ruta está escrita así, y puede ajustarla de acuerdo con su propia situación.
Obtenga un resultado similar al siguiente, que indica que la instalación de la extensión está completa:
... Construir completo. No olvide ejecutar 'hacer prueba'. Instalación de extensiones compartidas: / www / server / php / 56 / lib / php / extensions / no-debug-non-zts-20131226/12345
7. Modificar php.ini
Puede modificarlo a voluntad, solo usé el extremo frontal de la pagoda para modificarlo directamente, sin usar la línea de comando. En php.ini
el Agregue las siguientes líneas:
[mssql] extensión = mssql.so12
Guarde después de la modificación y luego reinicie el php
servicio.
Verifique phpinfo
, puede ver que la mssql
extensión se ha habilitado.
Eso es.