Introducción a PHP ![]() Autor: F. Javier García Castellano Web: http://decsai.ugr.es/~fjgc, Mail: fjgc@decsai.ugr.es | ![]() ![]() ![]() (C) GeNeura Team Web: http://geneura.ugr.es, Mail: todos@geneura.ugr.es |
PHP es un lenguaje rápido pese a ser interpretado, multiplataforma y dispone de una gran cantidad de bibliotecas para el desarrollo de aplicaciones Web.
Está basado en herramientas de software libre (Apache, MySQL, etc.), es decir, no hay que pagarlas; además proporciona los mecanismos para poder trabajar con casi cualquier base de datos (sea software libre o no) y servidor web.
Cuando pedimos a nuestro servidor web una página PHP, que no es sino un programa PHP que genera una página HTML, el servidor le pasa la página al interprete PHP y es el resultado lo que se le envía al cliente.
El interprete de PHP permite ser compilado y utilizado como un CGI. De esta forma cualquier servidor web que soporte CGI podría ejecutar páginas PHP. Nosotros en este tutorial lo vamos a usar como un módulo de Apache, la ventaja es que obtenemos una velocidad de ejecución bastante superior, asi como un consumo menor de recursos. En el caso de tener PHP instalado como un módulo del servidor Apache, este hereda todas las características del servidor.
PHP se contruyó para ser utilizado conjuntamente con la base de datos MySQL, pero actualmente soporta la mayoría de bases de datos (Oracle, Informix, ODBC, SQl Server, etc.). Nosotros utilizaremos MySQL, porque la interacción entre PHP y MySQL funciona a la perfección y además es software libre.
Debido a que PHP has sido diseñado de forma modular y sencilla, hay multitud de bibliotecas entre ellas destacamos el soporte para:
[mysqld] basedir=C:/installation-path/
En c:\MYSQL\ hay un fichero llamado 'my-example.cnf'. que se puede usar para crear el fichero C:\my.cnf
ScriptAlias /php/ "c:/php/" AddType application/x-httpd-php .php Action application/x-httpd-php "/php/php.exe"
NET STOP APACHE NET START APACHE
LoadModule php4_module c:/php/sapi/php4apache.dll AddType application/x-httpd-php .php AddModule mod_php4.c
NET STOP APACHE NET START APACHE
Probar el PHP creando un fichero llamdo info.php con el siguiente contenido:
Info.php:
<?php PHPinfo(); ?>
dicho fichero se guardará en el directorio htdocs del Apche (normalmente en C:\Archivos de programa\Apache Group\Apache\htdocs\ )
Después de instalar PHP y servidor web en windows, puede que se quiera instalar algunas extensiones para ñadir funcionalidades al PHP. Las extensiones que se quieran utilizar cuando PPH arranque se activarán descomentando las línes del tipo 'extension=php_*.dll' en el fichero php.ini.
Para esto se requieren algunas DLLs adicionales. Hay que copiar el conjunto de Dlls que hay en el directorio php/dlls en windows/system (Win 9.x/Me), winnt/system32 o windows/system32 (estos dos últimos en Win NT/2000/XP). Si ya existen dichos ficheros, se deben sobreescribir, aunque es aconsejable hacer una copia de seguridad por si las cosas no funciona como debieran.
Algunas DLLs necesitan extensiones de otros, por ejemplo, php_oci8.dll necesita las librerías del cliente de Oracle 8 para poder instalarse, las cuales no vienen con la distribución de PHP.
Las DLLs para las extensiones de PHP llevan el prefijo 'php_'. Asi se previene la confusión entre extensiones de PHP y librerías para PHP.
Nota: A partir de PHP 4.0.5 el soporte para MySQL, ODBC, FTP, Calendar, BCMath, COM, PCRE, Session, WDDX y XML está dentro de PHP. No se necesita añadir ninguna funcionalidad extra para usar estas funciones
Ejemplos de extensiones de PHP
Para más documentación buscar la sección de extensiones de windows (Windows extensions) en http://www.php.net/manual/en/install.windows.php#install.windows.extensions
tar xvfz apache_1.3.XX.tar.gz
cd apache_1.3.XX
./configure --prefix=PREFIX --enable-shared=max
make
make install
PREFIX/bin/apachectl start PREFIX/bin/apachectl stop
Lo más rápido es bajarse una versión compilada de MySQL de http://www.mysql.com. Por ejemplo, nos bajamos un fichero binario del estilo mysql-XXX.tar.gz Lo descomprimimos con:
tar xvfz mysql-XXX.tar.gz
Renombramos el directorio y nos metemos en dicho directorio
mv mysql-XXX mysql cd mysql
Ejecutamos el fichero de configuración
./configure
Para cambiar el password de administrador de MySQL se hace con
./bin/mysqladmin -u root -p password 'new-password'
(La primera vez, cuando pregunta por el password anterior, se debe pulsar return)
Para arrancar el MySQL:
./bin/safe_mysqld &
Para probar si el MySQL está funcionando se hace con:
./bin/mysqladmin version
Para crear una base de datos se ejecuta ./bin/mysqladmin -u usuario -p create nombre_BD donde usuario es el usuario de la base de datos (normalmente root). Para eliminarla se ejecuta ./bin/mysqladmin -u usuario -p drop nombre_BD.
Para parar MySQL: ./bin/mysqladmin -u usuario -p shutdown.
Para trabajar con las bases de datos en MySQL se ejecuta ./bin/mysql.exe -u usuario -p que es un interprete de comandos que acepta sentecias SQL. Para Cambiar de base de datos se usa use nombre_BD. Para ver las tablas show tables; y para ver el formato de una tabla en particular, se usará desc nombre_tabla;.
tar xvfz php-4.X.X.tar.gz
cd php-4.X.X
./configure --with-apxs=DIR_APACHE/bin/apxs --with-config-file-path=DIR_APACHE --prefix=PREFIX --exec-prefix=PREFIXSi queremos saber las opciones de compilación del PHP, basta ejecutar ./configure --help
make
make install
Al igual que en windows, podemos configurar el PHP para que se ejecute como un módulo de Apache o podemos instalarlo como un CGI. Aqui sólo consideraremos la opción de que sea un módulo de Apache. Ya que como CGI es más lento.
AddType application/x-httpd-php .phpEsta línea debe añadirse en su apartado correspondiente, es decir, donde veamos AddType .... le añadimos " AddType application/x-httpd-php .php ".
apachectl start apachectl stop
Probar el PHP creando un fichero llamdo info.php con el siguiente contenido:
Info.php:
<?php PHPinfo(); ?>
dicho fichero se guardará en el directorio htdocs del Apache (normalmente en PREFIX_APACHE/htdocs )
Ejercicio: Aprende a instalar PHP+Apache+MySQL en tu sistema operativo favorito (windows o Linux, lo siento si eres de los Mac). Va a ser necesario para el resto de los apartados del tutorial.Y para programar con PHP en casa.
Ejercicio: Si no has conseguido instalar el PHP+Apache+MySQL en tu sistema opeerativo favorito. Puedes probar a instalarlo en Linux, para ello ejecuta:
BAJAR el fichero http://flanagan.ugr.es/php/util/instalaPHP2.tgz en /tmp cd /tmp tar xvfz instalaPHP.tgz rm /tmp/instalaPHP.tgz /tmp/instala.pl Ejecuta el netscape con la dirección http://localhost:8080/info.php