Foros del Web » Programando para Internet » PHP »

Instalación de PHP5 con MySQL 4.1.* en Windows

Estas en el tema de Instalación de PHP5 con MySQL 4.1.* en Windows en el foro de PHP en Foros del Web. Instalación de PHP5 y MySQL 4.1 en Windows 1.Requisitos: Será necesario tener: 1. Servidor Apache 2.0. para Windows 2. Servidor de bases de datos Mysql ...
  #1 (permalink)  
Antiguo 29/10/2004, 11:27
 
Fecha de Ingreso: octubre-2004
Mensajes: 1
Antigüedad: 19 años, 4 meses
Puntos: 0
Instalación de PHP5 con MySQL 4.1.* en Windows

Instalación de PHP5 y MySQL 4.1 en Windows

1.Requisitos:
Será necesario tener:
1. Servidor Apache 2.0. para Windows
2. Servidor de bases de datos Mysql 4.1 para Windows
3. Interprete de PHP5 versión para Windows comprimida en zip, sin instalador
Será recomendable tener:
1. Windows NT/XP.
2. Mysql Control Center (disponible en www.mysql.com).
3. Un editor de texto un poco mas avanzado que el Bloc de Notas...
3.Pasos previos:
Los pasos a seguir son:
1. Instalar Apache: mediante el instalador que viene incluido en la distribución, es
un proceso sencillo.
2. Instalar Mysql 4.1: mediante el instalador que esta disponible, además permite
una configuración fácil del servicio. Es importante fijar la contraseña de root.
3. Instalar PHP5: Este paso es el paso crítico que vamos a desglosar. Mientras sale un instalador para utilizar PHP como modulo de apache (la version de PHP5 con instalador lo instala en modo CGI) los pasos previos son.
a. Primero se debe crear una carpeta como “c:/php5” o a vuestro gusto, creo
que esta es una buena opción.
b. Después se debe descomprimir el archivo que hemos bajado de
http://www.php.net/ en esa carpeta.
c. Ahí encontraremos un archivo “install.txt” que nos explica los pasos
básicos para montar PHP5 con apache2. pero es aquí cuando viene el
tema. No dice nada sobre Mysql, y cuando alegremente intentamos
conectar con nuestro recién instalado servidor Mysql 4.1.*, no podemos
conectar...
4.Formas de proceder:
Por problemas de licencias, por defecto, la extensión de Mysql para PHP5 no
esta disponible. Además, esta extensión es incapaz de conectar con Mysql 4.1.*. Esto es
debido a un nuevo algoritmo de Hash para encriptar las contraseñas, luego... ¿que
hacemos entonces? Para solucionar este problema, tenemos dos opciones, considerando
que queremos utilizar las nuevas caracteristicas de las tablas InnoDB de Mysql 4.1.
4.1. Continuar usando una versión antigua de PHP y adaptar Mysql 4.1 a PHP:
Esta opción se basa simplemente en mantener tu versión de PHP con la
extensión de Mysql antigua (o activar la extensión de Mysql en PHP5 que se explica
después, si quieres actualizarte) y configurar una cuenta en Mysql 4.1 para que acepte
passwords antiguas. Para hacerlo, solo tienes que abrir Mysql Control Center, y
configurar una cuenta de usuario con una password antigua. Esto es tan sencillo como:
1. Crear un nuevo usuario: Con Mysql Control Center, solo debes identificarte
como usuario root al conectarte y tener en cuenta que hay que especificar la IP
de la máquina desde la cual se podrá conectar el usuario y en caso de que sea
desde cualquier IP poner el valor ‘%’, después marcar la casilla “With GRANT
option” y los privilegios que desees.
2. Seleccionar la base de datos “mysql”.
3. Ejecutar la sentencia:
SET PASSWORD FOR <usuario>@<host> = OLD_PASSWORD(‘<contraseña>’)
Ya puedes conectarte con Mysql 4.1 mediante los interfaces que usabas para
Mysql 4.0 e inferiores usando esa nueva cuenta y buscarte la manera de ejecutar
consultas y subconsultas, transacciones, programar tus triggers... en fin, todas las nuevas
‘features’ de Mysql 4.1.*.
4.2. Usar la versión PHP5:
La segunda opción, es instalando PHP5 y activando una nueva extensión que
se incluye con la distribución de PHP5 llamada “mysqli” o la extensión antigua “mysql”
pero usando el ‘truco’ que he explicado antes. Vamos a hacer ambas cosas, para tener
las dos extensiones disponibles y poder así conectar con cualquier versión de Mysql y
que nuestras antiguas aplicaciones en versiones inferiores a PHP5 sigan funcionando.
Para ir por partes, previamente describiremos los pasos a seguir para instalar
PHP5 sobre Apache2 que se describen en el archivo ‘install.txt’ en ‘c:/php5’. Lo
instalaremos sin ninguna extensión y para que se pueda actualizar de forma sencilla.
Para ello, debemos tener en cuenta lo que Apache2 necesita para servir los
scripts de PHP5 correctamente, lo que PHP5 necesita para ejecutarse y donde envía sus
resultados PHP5. Como en las versiones anteriores (variando los números de versión),
Apache2 necesita:
1. php5apache2.dll: para cargar el módulo ‘php5_module’ esta dll se encuentra
en el directorio base donde descomprimiste PHP5 que en este caso se supone
que fué c:/php5.
2. php.ini: Este es el archivo de configuración de PHP5. Debemos crearlo
nosotros a partir de unas plantillas. Se explicará más adelante.
3. Cuando llamar al intérprete de PHP5.
Para esto, basta con incluir en el archivo httpd.conf, que se encuentra
generalmente en “C:\Archivos de programa\Apache Group\Apache2\conf” (en
Windows, si has seguido una instalación típica), las siguientes líneas (puedes incluirlas
al final para controlar mejor los cambios que hagas a la configuración de Apache2, así te
será fácil devolver el sistema a su configuración anterior si metes la gamba):
LoadModule php5_module c:/php5/php5apache2.dll
AddType application/x-httpd-php .php .phtml
PHPIniDir "C:/php5"
De esta manera Apache2 ya sabe como cargar, su configuración y cuando
utilizar PHP5.
Respecto a PHP5, este necesita encontrar php5ts.dll. Este archivo se encuentra
en ‘c:/php5’ y para que Windows pueda encontrarlo, la mejor opción es incluir la ruta
de acceso a este archivo en la variable de entorno PATH., para hacer esto debemos de:
1. Entrar en el panel de ‘Configuración’ de Windows.
2. Entrar en el icono ‘Sistema’.
3. Seleccionar la pestaña ‘Opciones Avanzadas’.
4. Pulsar sobre el botón ‘Variables de entorno’.
5. Buscar y seleccionar la variable ‘Path’.
6. Modificarla añadiendo al final. “...;C:\php5“.
De esta forma casi queda instalado definitivamente PHP5 como módulo de
Apache2. Cuando queramos actualizar a nuevas versiones, solo tendremos que cambiar
el valor de dicha variable ‘PATH’, y las líneas correspondientes de httpd.conf, para que
carge la versión de PHP que queramos, pero aún queda el paso final.
5.Como configurar PHP5 y activar las extensiones ‘mysql’ y ‘mysqli’:
Este es el paso más importante, pero no por ello más difícil. Esto debe indicarse
en la configuración de PHP5 que se rige por los parámetros encontrados en el archivo
php.ini, al estilo de los archivos de configuración en Linux.
El archivo php.ini no existe como tal en la distribución de PHP que podemos
bajarnos de Internet, sino que tenemos que crearlo a partir de unas plantillas. Se
proporcionan dos plantillas llamadas php.ini-dist y otra llamada php.ini-recomended,
cualquiera de ellas es buena, la diferencia esta en que la primera es una configuración
por defecto, para desarrolladores, sin muchas restricciones de seguridad, sin embargo en
la segunda plantilla, viene, (según dicen) optimizada para buen desempeño y seguridad.
En cualquier caso los pasos a seguir son:
1. Editar con un editor de texto plano alguna de las plantillas (php.ini-dist o
php.ini-recomended, ... que es ‘recomendable’...).
2. Buscar la cadena: ‘doc_root =’ y sustituirla por una cadena que indique
la ruta hacia el directorio o carpeta donde Apache2 guarda los sitios web,
que en este caso es:
doc_root = "C:\Archivos de programa\Apache Group\Apache2\htdocs"
3. Buscar la cadena: ‘extension_dir =’ y sustituirla por una cadena que
indique la ruta hacia el directorio o carpeta donde se encuentran las
extensiones que queramos incluir en el interprete de PHP5, así en este
caso tendremos:
extension_dir = "C:\php5\ext"
4. Buscar las cadenas ‘extension=php_mysql.dll’ y
‘extension=php_mysqli.dll’. En este caso no deben sustituirse por nada,
solo hay que borrar el punto y coma que tienen al principio de la línea,
para que se carguen las extensiones. Si deseas cargar alguna extensión
más solo tienes que quitarle el comentario y, claro esta cerciorarte de que
existe la dll correspondiente en ‘c:/php5/ext’.
5. Ahora tienes que guardar ese fichero con el nombre ‘php.ini’ y el
proceso estará completo.
Ya puedes utilizar, por lo tanto, las funciones de conexión de PHP con Mysql de forma
normal, teniendo en cuenta que para usar sentencias como:
if($link=mysql_connect($host,$usuario,$contrasena) )
mysql_select_db($bd);
...
...
Será necesario que el usuario y la contraseña sean los correspondientes a un usuario de
Mysql 4.0 o inferior, o Mysql 4.1.* con una contraseña tipo ‘OLD_PASSWORD’. Si no, si la
cuenta es de un usuario normal de Mysql 4.1, la sentencia anterior (y por extensión el
resto de sentencias de conexión con Mysql) deberá quedar como:
if($link=mysqli_connect($host,$usuario,$contrasena ))
mysqli_select_db($bd);
...
...
Puedes comprobar que todo se ha cargado correctamente visualizando un script con el
código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Prueba de PHP5</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
echo phpinfo();
?>
</body>
</html>
Esta guía de instalación puede servir como referencia para las instalaciones sobre
Linux, ya que los archivos de configuración son válidos para ambas plataformas,
obviamente cambiando los paths de los archivos, y teniendo en cuenta que la extensión
.dll es para Windows (estos archivos vienen como .so en Linux). En Linux, la
instalación de PHP con soporte para la extensión ’mysqli’ necesita que PHP sea
compilado con la opción de configuración ‘--withmysqli=<
mysql_config_path>/mysql_config’ donde ‘<mysql_config_path>’ representa
la ubicación del programa ‘mysql_config’ que viene con Mysql en versiones superiores
a 4.1.
BEBE Y LUCHA.

Última edición por i72peesj; 29/10/2004 a las 11:29
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:05.