martes, 1 de abril de 2008

Apache + PHP + MySQL + M$SQL



He logrado hacer la coneccion para php 5.2.5 con un Apache 2.2.6 y utilizando FreeTDS (FreeTDS para conectar a Servidores Ms-SQL)

NOTA. El medtodo de compilación tambien funciona con Apache 2.2.8, la version de FreeTDS es la 0.64 y la de PHP es 5.2.5.

aqui les dejo la forma de compilar cada uno de los packages (no les envio el .TGZ porque no tiene gracia asi)


#mkdir /apache226/usr/local/apache2 -p

luego bajamos el Apache (http://www.apache.org/dyn/closer.cgi)

lo descomprimimos en el directorio adecuado ..../httpd-2.2.6
cd ..../httpd-2.2.6
compilamos apache
$./configure --prefix=/usr/local/apache2
$make
#make install prefix=/apache226/usr/local/apache2
cd /apache226
#makepkg apache226.tgz (y queda creado el package para slackware)
#installpkg apache226.tgz (instalado)

--- freetds (http://www.freetds.org/software.html)
lo bajamos , descomprimimos entramos a su dir y...
mkdir /freetds/usr/local/freetds -p
$./configure --with-tdsver=8.0 --prefix=/usr/local/freetds
$make
#make install prefix=/freetds/usr/local/freetds
cd /freetds
#makepkg freetds.tgz
#installpkg freetds.tgz

Ahora el php (http://cl.php.net/get/php-5.2.5.tar.gz/from/a/mirror)

#mkdir /php525/usr/local/php5 -p
lo bajamos , descomprimimos entramos a su dir y...

$./configure --with-mysql --with-apxs2=/usr/local/apache2/bin/apxs --with-mssql=/usr/local/freetds --without-pdo-sqlite --prefix=/usr/local/php5 --with-config-file-path=/usr/local/php5

$make
#make install prefix=/php525/usr/local/php5
cd /php525
#makepkg php525.tgz
#installpkg php525.tgz

luego de instalar todo es necesario copiar el directorio /usr/local/apache2/conf a /usr/local/
y proceder a configurar el httpd.conf de la manera que se desee. Y el archivo php.ini debe de copiarse a /usr/local/php5, esta ruta la designamos con --with-config-file-path.

la ver 8.0 a la que se hace referencia en la instalacion de freetds se refiere a la ver 2k del mssql server.

2 comentarios:

+Aard dijo...

Hola, yo tengo todo lo que mensionas, instalado y funcionado en FreeBSD, ahora, mi pregunta es , saves si esto funcionara para un sistema online

Ambiente:

|pagina web php|

||BD Mysql||

Interface de coneccion con FreeTDS

||BD Sql server 2005||


Se podra hacer una actualizacion online ||BD Sql server 2005|| a ||BD Mysql|| de tal forma que se reflejen los datos en |pagina web php| en tiempo real(online) ?

As probado hacer algo así?

Saludos

Benjamin Sanchez dijo...

quieres tener un mirror de la MSSQL en tu BSD con MySQL?

habria que hacer cada cierto tiempo unas transacciones para que se hagan las consultas en la MSSQL y se ingresen los datos en la MySQL. algo asi como un demonio, pero, metiendo ese programa en crontab funcionaria sin tanta parafernalia digamos que cumpliria.

en que lenguaje podria ser?, en php puede ser o en C, o incluso en pascal. (Lazarus, es una muy buena interface visual para diseñar programas al estilo Delphi).

bueno, volviendo al php, habria que escribir las sentencias sql necesarias para el proposito y luego, escribir un script #!/bin/sh o #!/bin/bash que ejecute wget http://servidor.local/script-actualizaMySQL-MSSQL.php

este script debiera de ser controlado por el crond

pero? no saldria mejor hacer las consultas desde el BSD+APACHE al MS y mostrar los resultados?

saludos.