Vamos a explicar primero lo que queremos hacer, queremos obtener un reporte que nos muestre los records de los jugadores que han ganado nuestro juego, para ellos disponemos de un laberinto hecho en Java3D, en el cual cuando se llega a la meta, se anota el tiempo y se inserta en la base de datos, luego queremos consultar los tiempo ordenados del mejor en adelante.
Para poder ejecutar codigo PHP en Wordpress he usado el pluging Exec-PHP. Primero hacemos la coneccion con la base de datos MySQL,
$server="192.168.153.1";
$usuario="root";
$pass="123";
$db="laberinto";
$link=mysql_connect($server,$usuario,$pass)or die (exit(mysql_error()));
mysql_select_db($db);
Y ahora para mostrar el reporte vamos a usar "print" para las salidas en HTML, primero ponemos el titulo y la cabecera de la tabla:
Cuando configuramos un servidor de bases de datos con MySQL es importante brindar acceso a los clientes que se desean conectar a la base de datos, por defecto MySQL bloquea todas las conneciones por motivos de seguridad, entonces para brindar acceso tenemos que usar "GRANT"
GRANT [tipo_acceso] ON [base datos/tablas] TO usuario@[host] IDENTIFIED BY [password]
Ejemplo:
Vamos a darle acceso al usuario "root" que accesa desde '192.168.153.128' a la base de datos 'laberinto':
GRANT ALL ON laberinto.* TO root@'192.168.153.128' IDENTIFIED BY '123';
Ya tenemos PHP funcionando con Apache, solo resta poner a funcionar la coneccion con la base de datos, para esto revisaremos una vez mas el archivo "php.ini", buscamos la seccion "paths and directories" y actualizamos la carpeta donde estan las extensiones:
extension_dir = "C:\PHP\ext\"
Mas abajo encontramos la lista de extensiones de PHP, seleccionamos las que vamos a usar, quitando el punto y coma al principio de la linea:
Y listo, ya tenemos PHP configurado para trabajar con MySQL, ahora solo falta instalar MySQL, de la manera mas sencilla, siguiente>siguiente>finish.
Si por cualquier motivo les da un error del tipo:
"to undefined function mysql_connect()..."
es que PHP no esta leyendo correctamente las extensiones, verificar la carpeta de extensiones (extension_dir), si el problema persiste copiar las extensiones (.dll) a la carpeta Windows/System32, y si el problema persiste, copiar el archivo "php.ini" a la carpeta de Windows/, con esto deberia de funcionar.
He decidido empezar un pequeño mini-tutorial, en donde vamos aprender a configurar Apache para trabajar con PHP con conexión a MySQL. En esta primera parte, expondremos como configurar Apache para trabajar con PHP, para después en una segunda parte exponer la conexión con MySQL. Las pruebas han sido realizadas sobre Windows Vista Ultimate de 64 bits, aunque no debería de haber ningún problema con otra versión.
·Descargar PHP en archivo “Zip” para descomprimir.
CONFIGURANDO PHP.INI
Empezaremos descomprimiendo el archivo “php-5.2.6-Win32.zip” en una carpeta en el disco duro “C:\PHP”, para configurar PHP podemos tomar como base los archivos PHP.ini-dist o PHP.ini-recommended, usaremos este último, php.ini-recommended y lo renombraremos a php.ini. Primero debemos ubicar la carpeta donde esta nuestro sitio, en mi caso he puesto esta carpeta dentro de la carpeta de PHP (pero la pueden poner el cualquier lugar), esta carpeta contiene la paginas que formaran nuestro sitio, yo la he puesto en “C:\PHP\Site”, debemos de cambiar la dirección default en el “php.ini”, ubicamos la siguiente sección:
·; cgi.force_redirect configuration below
doc_root =
y la modificamos con nuestra carpeta:
·; cgi.force_redirect configuration below
doc_root = "C:\PHP\Site"
Ahora vamos a configurar las extensiones que va a usar PHP, estas se encuentran en la carpeta “/ext”, por ejemplo las librerías para la conexión con MySQL, para ellos ubicamos la sección de extensiones:
;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
Y habilitamos las extensiones de MySQL quitando los puntos y comas “;”al principio de cada línea.
extension=php_mysql.dll
extension=php_mysqli.dll
Nota: Algunas veces estas extensiones presentan problemas, debido a que no son encontradas por lo general en Windows XP, si esto sucede copie estas extensiones que vaya a usar a la carpeta principal, en este caso seria “C:\PHP”, si el problema persiste, copia también a las carpetas de /Windows y /Windows/System32 y el problema debería quedar solucionado.
CONFIGURANDO HTTPD.CONF
Empezaremos instalando Apache, de la manera más sencilla (siguiente>siguiente>finish). Una vez instalado Apache, debemos de configurarlo para soportar PHP, para ellos encontramos el archivo de configuración “httpd.conf” en “C:\Program Files (x86)\Apache Group\Apache2\conf” y lo editamos de la siguiente manera:
Debemos de añadir los módulos de PHP, buscamos la sección de carga de módulos y añadimos:
LoadModule php5_module C:\PHP\php5apache2.dll
AddType application/x-httpd-php .php
También debemos cambiar la carpeta donde esta nuestro sitio, para ellos buscamos y modificamos:
#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "C:/PHP/Site"
...
...
#
# This should be changed to whatever you set DocumentRoot to.
#
...
...
#
# UserDir: The name of the directory that is appended onto a user's home
# directory if a ~user request is received.Be especially careful to use
# proper, forward slashes here.On Windows NT, "Personal/My Website"
# is a more appropriate choice.
#
UserDir "C:/PHP/Site"
El siguiente cambio es importante, debemos prestar atención, la pagina por defecto que abrirá el servidor es “index.html”, nos dará error si no existe, pero debido a que estamos usando PHP lo más probable es que nuestra página principal sea “index.php”, de ser así, debemos modificar el archivo, en la sección “Directory Index”
DirectoryIndex index.html index.html.var
Una vez cambiado nos quedara así:
#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
# The index.html.var file (a type-map) is used to deliver content-
# negotiated documents.The MultiViews Option can be used for the
# same purpose, but it is much slower.
#
DirectoryIndex index.php index.html.var
Y listo!, hemos configurado Apache para poder desarrollar con PHP. Para probar que lo hemos hecho correctamente, vamos a probar una página sencilla: