Sunteți pe pagina 1din 13

Grupo de Investigacin de Software

Libre
LAMP (Linux + Apache + MySQL
+PHP)
Autor: Jean Gerard Len Huaca
Definicin: Es el acrnimo de Linux,
Apache, MySQL y PHP las cuales son las
mejores herramientas en cuanto a software
libre se trata. Permiten crear servidores web
verstiles y poderosos; permiten tener un
nivel de seguridad muy bueno ya que en cada
momento se liberan parches de seguridad.
APACHE:
Instalacion de Apache:
En Fedora se procede como sigue:
Ingresamos como root :
$su
$Password
Luego escribimos:
#yum install httpd
Si se desea que Apache incluya soporte para
PHP/MySQL, Perl, Python y SSL, se ejecuta:
#yum -y install php php-mysql mod_perl
mod_python mod_ssl
Arrancando Apache:
Para iniciar el servicio por primera vez basta
ejecutar:
#/sbin/service httpd start
Configuracin del archivo httpd.conf:
En este fichero se encuentran todos los
parmetros de funcionamiento de Apache.
Este se encuentra en la ruta
/etc/httpd/conf.d/httpd.conf.
Para visualizar el archivo de configuracin
basta ejecutar.
#vim /etc/httpd/conf.d/httpd.conf
El fichero httpd.conf esta dividido en tres
partes las cuales son:
Parmetros globales
Directivas de funcionamiento
Host virtuales
Las secciones ms importantes son:
<Directory> : Los parmetros que se
encuentran dentro de esta seccin, slo se
aplicarn a el
directorio especificado y a sus subdirectorios.
<Files> : Los parmetros de configuracin
proporcionan el acceso de los ficheros por su
nombre.
<Location>: Proporciona un control de
acceso de los ficheros por medio de la URL.
Httpd.conf: Parmetros globales
Todos los parmetros que se establecen
dentro de esta seccin son globales para el
funcionamiento del servidor, por lo que no
admiten estar dentro de ninguna directiva.
ServerRoot: Especifica la ubicacin del
directorio raz donde se encuentra instalado el
Apache, a partir del cual se crea el rbol de
directorios comentado anteriormente. Esta
directiva no debera cambiar a no ser que se
mueva la carpeta de instalacin de apache a
otro directorio.
Ejemplo:
ServerRoot "/etc/httpd"
Httpd.conf: Parmetros globales
PidFile: Ubicacin del fichero que contendr
el nmero de identificacin del proceso
cuando se encienda el servidor.
Ejemplo:
PidFile run/httpd.pid
TimeOut: El valor se utiliza para configurar
medido en segundos, tres parmetros:
1. El tiempo tal que puede tardar una
peticin en ser recibida entera
2. La cantidad de tiempo que espera
entre recepcin de paquetes TCP
3. La cantidad de tiempo entre ACK's en
transmisiones TCP
Pasado este tiempo se produce un mensaje de
error en el que se indica que se ha consumido
el tiempo mximo de espera. Establecer un
valor muy pequeo puede dar lugar a que los
usuarios reciban este mensaje de error, y
establecer un valor muy pequeo dar lugar a
una sobrecarga de la mquina.
Ejemplo:
Timeout 120
KeepAlive: Especifica si se utilizarn
conexiones persistentes, es decir, que todas
las peticiones de un usuario se atendern con
la misma conexin.
Ejemplo:
KeepAlive Off
MaxKeepAliveRequests: Nmero mximo
de conexiones persistentes. (nmero mximo
de usuarios concurrentes si KeepAlive esta en
ON).
Ejemplo:
MaxKeepAliveRequests 100
Nota: Para establecer este parmetro, hay que tener
en cuenta el ancho de banda de salida de nuestro
servidor, por el cual deber ser enviada toda la
informacin, si se establece un valor muy grande
respecto al ancho de banda, el tiempo de respuesta se
ver incrementado para cada usuario.
KeepAliveTimeout: Tiempo que espera en
segundos entre peticiones de un usuario, antes
de considerar que este ha terminado, y cerrar
su conexin.
Ejemplo:
KeepAliveTimeout 15
Listen: Esta directiva permite especificar que
puerto se utilizar para antender las
peticiones. Por defecto se utiliza el puerto 80
(www), tambin permite especificar que
direcciones IP atender, por defecto todas.
Ejemplo:
Listen 80
LoadModule: Directiva que sirve para cargar
mdulos que incluyen distintas
funcionalidades. La sintaxis es:
LoadModule nombreModulo ubicacionFichero
Ejemplo:
LoadModule auth_basic_module
modules/mod_auth_basic.so
Httpd.conf: Directivas de funcionamiento
Esta es la seccin principal de configuracin
del servidor, en ella podemos encontrar las
siguientes opciones:
ServerAdmin: Especifica la direccin de
correo electrnico del administrador, esta
direccin aparece en los mensajes de error,
para permitir al usuario notificar un error al
administrador. No puede estar dentro de
ninguna seccin.
Ejemplo:
ServerAdmin root@localhost
ServerName: Especifica el nombre y el
puerto que el servidor utiliza para
identificarse, normalmente se determina
automticamente, pero es recomendable
especificarlo explcitamente para que no haya
problemas al iniciar el servidor. Si el servidor
no tiene un nombre registrado en las DNS, se
recomienda poner su nmero IP. No puede
estar dentro de ninguna seccin. La sintaxis
es:
ServerName direccionIP:Puerto p.e. ServerName
localhost:80
Ejemplo:
ServerName www.example.com:80
DocumentRoot: La carpeta raz que se ubica
en el servidor, desde la que se servirn los
documentos. Por defecto, todas las peticiones,
tendrn como raz esta carpeta, a no ser que se
utilicen alias (directorios virutales en IIS)
Ejemplo:
DocumentRoot "/var/www/html"
Nota: Si se cambia este directorio por otro, es muy
importante que se ponga el nuevo valor, no solo en
esta lnea, sino tambin en la seccin <Directory> en
la que se establecen los parmetros de configuracin
de este directorio. Esta lnea empieza por " <Directory
" seguido de la carpeta raz que originalmente hay en
DocumentRoot
Ejemplo:
Se desea cambiar la ruta de los documentos a
/var/www/html/web1:
Se cambia la ruta en DocumentRoot:
DocumentRoot "/var/www/html/web1"
Se cambia la ruta en <Directory>(linea 305):
<Directory "/var/www/html/web1">
DirectoryIndex: Especifica el fichero por
defecto que buscar en cada directorio, en
caso de que no se especifique ninguno. Por
defecto es index.html. Es decir, que si por
ejemplo se pone en el navegador:
www.ejemplo.com el servidor por defecto
servir www.ejemplo.com/index.html
En esta directiva se pueden especificar ms de
un fichero, la sintaxis es la siguiente:
DirectoryIndex fichero1 fichero2 fichero3
El orden con el que se especifica el nombre de
fichero determinar la prioridad a la hora de
decidir que fichero es el que se muestra.
La directiva se puede encontrar fuera de
cualquier seccin, dentro de una seccin o
dentro de un fichero .htaccess.
Ejemplo:
DirectoryIndex jean.html index.html.var
AccessFileName: Es el nombre del fichero de
configuracin que se buscar en cada una de
los directorios del servidor para conocer la
configuracin del mismo. Este fichero
permite configurar el comportamiento de cada
uno de los directorios individualmente. Para
que esta configuracin funcione, la directiva
AllowOverride tiene que tener un valor que lo
permita. No puede estar dentro de ninguna
seccin.
El nombre de fichero que se especifica por
defecto es el del fichero ".htaccess".
Como medida de seguridad, la configuracin
del Apache establece que no se muestre la
existencia de este fichero a ningn usuario,
aunque este establecida la opcin de listado
de directorios. Si se decide cambiar al
nombre, habr que redefinir la seguridad para
que no se muestre el contenido del nuevo
fichero. Esto se hace en el fichero httpd.conf
en una seccin File como la que se presenta a
continuacin en la que se establece que todos
los ficheros que comiencen por .ht no se
mostrarn.
<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>
TypesConfig: Especifica el nombre del
fichero que contiene la lista de tipos mime
que conoce el servidor, y que determinar
dependiendo de las extensiones para generar
las cabeceras http. No puede estar dentro de
ninguna seccin.
Ejemplo:
TypesConfig /etc/mime.types
DefaultType: Tipo mime que se servir por
defecto en caso de no conocer la extensin del
fichero que se est sirviendo. Por defecto, se
indicar que se sirve texto plano, con el valor
text/plain. La directiva se puede encontrar
fuera de cualquier seccin, dentro de una
seccin o dentro de un fichero .htaccess.
Sintaxis:
DefaultType tipoMime
Ejemplo:
DefaultType text/plain
HostnameLookups: se utiliza en los ficheros
de registro. Por defecto cuando se produce un
acceso, se guarda simplemente su nmero IP,
si esta directiva se encuentra en On, el
servidor buscar la correspondencia de ese
nmero IP con su nombre, y almacenar el
nombre. Establecer esta configuracin en ON
provocar que por lo menos se tenga que
hacer una peticin al servidor de nombres por
cada una de las peticiones de usuario, por lo
que el rendimiento de la mquina se puede
ver decrementado. Esta directiva se puede
encontrar dentro de una seccin o fuera de
cualquier otra.
ErrorLog: Especifica la ubicacin del fichero
que contiene el registro de errores, por
defecto en la carpeta logs. Esta directiva slo
se puede encontrar fuera de cualquier seccin.
Ejemplo:
ErrorLog logs/error_log
LogLevel: Especifica el tipo de mensajes que
se guardaran en el fichero de registro de
errores, dependiendo de los valores
especificados, se guardarn mas o menos.
Esta directiva slo se puede encontrar fuera
de cualquier seccin.
Valor de ms a menos son: debug, info,
notice, warn, error, crit, alert, emerg
Ejemplo:
LogLevel warn
LogFormat: la directiva permite definir el
formato que se utilizar para almacenar los
registros. A cada formato se le puede asignar
un nombre, utilizndolo luego para crear
distintos tipos de ficheros de registro. Pueden
existir varios logFormat distintos.
Sintaxis:
LogFormat "configuracinError" nombre
Esta directiva se encuentra fuera de cualquier
seccin.
Ejemplo:
LogFormat "%h %l %u %t \"%r\" %>s %b"
common
CustomLog: la directiva se utiliza para
especificar la ubicacin y el tipo de formato
que se utilizar en un fichero de registro.
Pueden existir varios ficheros de registro
distintos con configuraciones distintas. Para
hacer esto, simplemente hay que poner varias
lneas customlog
Sintaxis:
CustomLog fichero formato
Esta directiva se encuentra fuera de cualquier
seccin.
Ejemplo:
CustomLog logs/access_log combined
ServerTokens: Esta directiva establece la
informacin que se devuelve dentro de la
cabecera http que enva el servidor.
Esta directiva se encuentra fuera de cualquier
seccin.
Ejemplo:
ServerTokens OS
IndexOptions: Esta directiva controla la
apariencia de la pgina que se mostrar a un
usuario cuando se pide la lista de ficheros de
un directorio.
Sintaxis:
IndexOptions [+|-]opcion [[+|-]opcion] ...
Entre las opciones que se pueden poner,
destaca:
FancyIndexing: que muestra los nombres de
los ficheros, con iconos etc.
Ejemplo:
IndexOptions FancyIndexing VersionSort
NameWidth=* HTMLTable
AddIconByEncoding: Esta directiva permite
asociar un icono a un tipo mime, de forma
que cuando la directiva fancyIndexing este
activada, se mostrar al lado del fichero el
icono correspondiente.
Sintaxis:
AddIconByEncoding icon MIME-encoding
Esta directiva se puede encontrar dentro del
fichero .htaccess, dentro de una seccin
<Directory> y fuera de cualquier otra.
Ejemplo:
AddIconByEncoding
(CMP,/icons/compressed.gif) x-compress x-
gzip
AddIconByType: Esta directiva asocia un
icono a un fichero dependiendo del un tipo
mime, de forma que cuando la directiva
fancyIndexing este activada, se mostrar al
lado del fichero el icono correspondiente.
Sintaxis:
AddIconByType icon MIME-encoding
Ejemplo:
AddIconByType (TXT,/icons/text.gif) text/*
Nota: La diferencia entre AddIconByType y
AddIconByEncoding reside en que mientras que en la
primera se determina el tipo mime mediante basndose
en la codificacin del fichero, mientras que
AddIconByType determina el tipo mime basndose en
el nombre del fichero.
Ambas directivas se pueden encontrar dentro del
fichero .htaccess, dentro de una seccin <Directory>
o fuera de cualquier otra.
AddDescription: Esta directiva permite
asociar una descripcin a un tipo de fichero,
que se mostrar al listar un directorio. Esta
directiva se puede encontrar dentro de el
fichero .htaccess, dentro de una seccin
<Directory> o fuera de cualquier otra.
Sintaxis:
AddDescripcion cadena , fichero
AddDefaultCharset: Esta directiva define la
codificacin de caracteres que se utilizar de
forma predeterminada para los documentos.
Esta directiva se puede encontrar dentro de
cualquier seccin y en los ficheros .htaccess.
Ejemplo:
AddDefaultCharset UTF-8
ErrorDocument: Esta directiva establece el
la configuracin del servidor para cuando se
produce un error. Se pueden establecer cuatro
configuraciones distintas:
1. Sacar un texto de error
2. Redirigir a un fichero en el mismo
directorio
3. Redirigir a un fichero en nuestro
servidor
4. Redirigir a un fichero fuera de nuestro
servidor
Hay que tener en cuenta que si el texto de
error se envia a Internet Explorer, este tendr
que tener al menos 512 Bytes, porque sino
Internet Explorer mostrar su propia pgina
de error.
Sintaxis:
ErrorDocument NmeroError Accin.
Esta directiva se puede encontrar tanto dentro
del fichero .htaccess, dentro de la seccin
<Directory> o fuera de cualquier otra seccin.
Ejemplo:
ErrorDocument 400
/error/HTTP_BAD_REQUEST.html.var
CacheRoot: establece el directorio donde se
encontrarn los ficheros de la cache del
Apache.
Ejemplo:
CacheRoot "/var/cache/mod_proxy"
Creacin de directorios virtuales:
Alias: Permite la definicin de directorios
virtuales, un directorio virtual es un directorio
que se encuentra en un directorio distinto del
que se mapea en la URL. El directorio virtual
no se tiene porqu encontrar dentro de rbol
de directorios que se crea a partir de
DocumentRoot, sino que se puede encontrar
en cualquier otra ubicacin, incluso se podra
encontrar en otro servidor distinto.
Para crear un alias abrimos el archivo
httpd.conf.
Sintaxis:
Alias nombreFicticio ubicacionReal
Ejemplo:
Alias /icons/ "/var/www/icons/"
Creacin de Host Virtuales:
Sites con diferente IP:
Si queremos crear otro site con difere ip y con
un dominio.
#ifconfig eth0:0 segunda_ip netmask
255.255.255.0
Agregue el dominio y el registro www con la
respectiva IP, aplico los cambios.
Creamos una carpeta donde se va a almacenar
nuestro site con el archivo index.html.
Finalmente abrimos el archivo de
configuracin httpd.conf y escribimos esto en
la parte de VirtualHost.
NameVirtualHost segunda_ip
<VirtualHost segunda_ip>
DoumentRoot directorio_del_host
ServerName segunda_ip
</VirtualHost>
Sites con diferente nombre y mismo IP:
Agregamos un nuevo dominio y su
respectivo registro www en el servidor DNS.
Guardamos los cambios.
Creamos una carpeta donde se va a almacenar
el site.
Abrimos el archivo de configuracin de
Apache y Agregamos en la parte de
VirtualHost.
NameVirtualHost segunda_ip
<VirtualHost segunda_ip>
DoumentRoot directorio_del_host1
ServerName segunda_ip
</VirtualHost>
<VirtualHost segunda_ip>
DoumentRoot directorio_del_host2
ServerName segunda_ip
</VirtualHost>
MySQL:
MySQL es actualmente el servidor de base de
datos ms popular para los desarrollos web.
Es muy rpido y slido, son muchos los
administradores que lo instalan, y sin
embargo no tantos los que lo configuran
correctamente, o que siquera saben que hay
que configurarlo.
Instalacin de MySQL:
En Fedora se procede como sigue:
Ingresamos como root :
$su
$Password
Luego escribimos:
#yum install mysql mysql-server
Arrancando MySQL.
La manera ms apropiada de iniciar el
servicio mysqld ser ejecutado el siguiente
mandato:
#/sbin/service mysqld start
Procederemos a agregar a MySQL al los
niveles de corrida 3, 4 y 5, de modo que la
siguiente vez que se tenga que iniciar el
equipo, MySQL se encuentre habilitado.
$/sbin/chkconfig --level 345 mysqld on
Asignando passwd al root de MySQL:
Despus de iniciado MySQL por primera vez,
como root ejecute el mandato mysql:
#mysql
Esto nos ingresar directamente y sin mayor
prembulo al Mini Shell de MySQL, donde lo
primero ser asignar una contrasea cifrada al
usuario root, ya que no es conveniente, de
manera alguna y sin pretexto, dejar MySQL
de este modo:
Indicaremos que base de datos utilizar, en este
caso ser la principal y nica existente,
mysql:
> use mysql
Ahora haremos peticin para que se muestren
las tablas:
> show tables;
Procederemos hacer una peticin para que se
muestre el contenido de la tabla user:
> select * from user;
Esto har que se vea, entre otras muchas
cosas, lo siguiente:
+------+------+----------+-------------+
| Host | User | Password | Select_priv |
+------+------+----------+-------------+
| localhost | root | | Y |
+------+------+----------+-------------+
Como se podr ver, el usuario root no tiene
asignada una contrasea, por lo que
cualquiera que se identifique como root
tendr acceso. Asignaremos una contrasea
del siguiente modo (sea cuidadoso con lo que
teclea como contrasea):
>update user set
Password=PASSWORD('nuevo_password') where
user='root';
Ejecute de nuevo el siguiente mandato:
> select * from user;
Notar que ahora hay un criptograma en el
campo que corresponde a la contrasea de
root.
+------+------+----------+-------------+
| Host | User | Password | Select_priv |
+------+------+----------+-------------+
| localhost | root |4593274b8e0d68j852| Y |
+------+------+----------+-------------+
Refresquemos los privilegios a fin de que
tomen efecto los cambios.
> flush privileges;
Salgamos ahora a fin de regresar y poder
probar la nueva contrasea.
> quit
Ingrese de nuevo al Shell de MySQL:
$mysql
Notar que ya no se puede acceder como
antes, y regresa un mensaje de error.
ERROR 1045: Access denied for user:
'root@localhost' (Using password: NO)
Ejecute ahora el mismo mandato, pero
especificando un usuario (-u root) y
solicitando se pregunte por una contrasea
(-p):
$mysql -u root p
A continuacin se le pedir ingrese una
contrasea, tras lo cual obtendr de nuevo
acceso al Shell de MySQL.
Nota: A veces por algn descuido nos podemos olvidar
la contrasea del root y no podemos acceder a
MySQL. Para ese tipo de inconvenientes hay una
solucin que es entrando en modo seguro, la cual se
detallar a continuacin.
Entrando en modo seguro:
La recuperacin de la contrasea ha de ser llevada a
cabo desde el mismo sistema en que est corriendo el
demonio mysqld. As, el primer paso a realizar ser
terminar con la ejecucin de dicho demonio mediante
el siguiente comando:
# /etc/init.d/mysqld stop
Parando MySQL: [ OK ]
Y nos aseguraremos de que no queda ningn servicio
relacionado con MySQL en ejecucin:
# ps -x |grep mysql
Si quedara algo en ejecucin, lo eliminaramos
mediante el comando kill y el nmero de PID.
Seguidamente volveremos a ejecutar el demonio, pero
en modo seguro. Dependiendo del sistema utilizado, la
direccin y el nombre del ejecutable podra variar,
aunque habitualmente suele encontrase en la ruta
/usr/bin/mysqld_safe o /usr/bin/safe_mysqld.
Ejecutaremos por tanto dicho comando del modo
siguiente:
# /usr/bin/mysqld_safe --skip-grant-tables
--user=root &
[1] 1882
Starting mysqld daemon with databases from
/var/lib/mysql
Restableciendo la contrasea:
Una vez ejecutado el demonio en modo seguro,
accederemos a la consola de comandos de MySQL:
# mysql -u root
Welcome to the MySQL monitor. Commands end
with ; or \g.
Your MySQL connection id is 116 to server
version: 5.0.22-log
Type 'help;' or '\h' for help. Type '\c' to
clear the buffer.
mysql>
Y una vez dentro de la consola ejecutaremos el
siguiente cdigo, que se encargar de establecer una
nueva contrasea:
mysql> UPDATE mysql.user SET
Password=PASSWORD('contrasea')
-> WHERE User='root';
Query OK, 2 Rows affected (0.01 sec)
Rows matched: 2 Changed: 2 Warnings: 0
mysql> FLUSH PRIVILEGES;
Query OK, 0 Rows affected (0.01 sec)
Cambiaremos la palabra contrasea por la
contrasea elegida.
Abandonaremos la consola mediante el comando quit
y reiniciaremos el demonio de mysqld de la forma
habitual, por ejemplo:
# /etc/init.d/mysqld restart
Parando MySQL: [ OK ]
Iniciando MySQL: [ OK ]
Y ya deberamos poder entrar a la consola con la
nueva contrasea.
Creando y destruyendo bases de datos:
Para crear una nueva base de datos, puede
utilizarse el mandato mysqladmin con el
parmetro create:
mysqladmin -u root -p create ejemplo
Si queremos eliminar dicha base de datos,
utilizamos el parmetro drop en lugar de
create.
mysqladmin -u root -p drop ejemplo
Otra forma:
En el shell de MySQL ejecutamos lo
siguiente:
>CREATE DATABASE
nombre_de_la_base_de_datos;
Nota: En MySQL los comandos se pueden escribir en
mayscula o minscula. Se acepta escribir en varias
lineas, pero siempre debe acabar en punto y coma (;).
Ejemplo:
>create database
nombre_de_la_base_de_datos;
Otorgando permisos a los usuarios:
En adelante el usuario root solo se utilizar
para tareas administrativas y creacin de
nuevas bases de datos. Resultar conveniente
delegar a los usuarios ordinarios el manejo de
sus propias bases de datos.
Una vez generada una base de datos, debemos
determinar con que usuario y desde que
equipo en la red local, se podr tener acceso,
as como los privilegios para modificar esta.
Lo ms comn, y seguro, es asignar el acceso
solo desde el mismo servidor (localhost), a
menos que el desarrollo web o aplicacin se
localice en otro equipo.
Genere un base de datos denominada
directorio:
mysqladmin -u root -p create
nombre_de_la_base_de_datos
En seguida acceda al Shell de MySQL y
ejecute lo siguiente, suponiendo que se desea
asignar permisos sobre las tablas de la base de
datos directorio al usuario jbarrios del equipo
local:
>GRANT select, insert, update, create,
alter, delete, drop ON
nombre_de_la_base_de_datos.* TO
nombre_usuario@localhost IDENTIFIED BY
'password_del_usuario';
Creacin de una tabla:
Tras conectarse a la base de datos, es
probable que desee introducir datos. Para ello,
vamos a crear una base de datos que puede
hacer el seguimiento de un equipo de ventas.
Para crear una tabla, tambin vamos a utilizar
el comando CREATE, pero necesitaremos
especificar TABLE en lugar de DATABASE,
asi como algunos elementos adicionales.
Introduzca la siguiente instruccin CREATE:
mysql> CREATE TABLE nombre_de_la_tabla (
nombre_del_elemento_1_de_la_tabla
tipo_de_dato,

nombre_del_elemento_n_de_la_tabla
tipo_de_dato,
);
El tipo de dato puede ser INT, VARCHAR,
TYNINT, etc.
Ejemplo:
mysql> CREATE TABLE sales_rep (
employee_number INT,
surname VARCHAR(10),
first_name VARCHAR(30) ,
commission TINYINT
);
Insertar datos en una tabla:
mysql> insert into nombre_de_la_tabla (
nombre_del_elemento_1_de_la_tabla
tipo_de_dato,

nombre_del_elemento_n_de_la_tabla
tipo_de_dato,
);
..,('datom1','datom2',...,''datomn');
Hallando valores maximos(MAX),
mnimos(MIN), suma(SUM) y media(AVG) de
los datos:
Para hallar cualquiera de estos se procede con
lo que sigue:
mysql> select
valor_de_medicin(sum,min,..)(titulo_de_la_
columna) from nombre_de__la_tabla;
PHP:
PHP, acrnimo de "PHP: Hypertext
Preprocessor", es un lenguaje "Open Source"
interpretado de alto nivel, especialmente
pensado para desarrollos web y el cual puede
ser embebido en pginas HTML. La mayora
de su sintaxis es similar a C, Java y Perl y es
fcil de aprender. La meta de este lenguaje es
permitir escribir a los creadores de pginas
web, pginas dinmicas de una manera rpida
y fcil, aunque se pueda hacer mucho ms con
PHP.
Se supone que tiene conocimientos de html
para poder comenzar con PHP, caso contrario
pude consultar libros sobre HTML.
Etiquetas de PHP:
Lo primero que debe saber es que todo
programa escrito en PHP debe empezar por
unas etiquetas determinadas:
<?php
.
?>
Variables en PHP:
Como en todos los lenguajes de
programacin, PHP permite almacenar datos
de distintos tipos en memoria. Estas zonas de
memoria se llaman variables. Las variables
comienzan por el smbolo de dlar ($) y no
necesitan ser declaradas antes de comenzar el
programa, como en otros lenguajes.
Tipos de Variables:
Entero (integer): Almacena nmeros
sin decimales. Se puede utilizar la
notacin decimal (83), octal (0123) o
hexadecimal (0x12).
Coma Flotante (double): Nmeros con
decimales.
Carcter (string): Texto o informacin
numrica escrita entre comillas dobles
("") o simples ('').
Bootean: Slo tiene dos posibles
valores: Verdadero o Falso.
Nulo {NULL): Es un tipo especial que
solo contiene un valor: NULL.
Vectores (array): Colecciones de
datos.
Objetos (object): Conjunto de datos y
funciones independientes.
Nota: Hay que tener en cuenta que el nombre de las
variables no puede empezar por un nmero, pero s
puede contenerlos. Tambin pueden empezar por un
guin bajo (__). Puesto que PHP es sensible a las
maysculas y minsculas las variables $numero y
$NUMERO sern distintas.
Ejemplo:
<?php
$4numero = 23; //Esta lnea da error
$_numero = 45;
//Las lneas siguientes muestran que PHP 5
es sensible a maysculas
$numero = 23;
$NUMERO = 24;
$Numero = 25;
echo ("numero es: $numero<br>") ;
echo ("NUMERO es: $NUMERO<br>" ) ;
echo ("Numero es: $Numero<br>") ;
?>
Cadena de caracteres:
Es un conjunto de caracteres encerrados entre
comillas dobles ("") o simples (' ').
La diferencia entre las comillas simples y las
comillas dobles radica en:
Comillas simples: Permiten imprimir
el contenido ntegro de caracteres que
est entre las dos comillas.
Comillas dobles: Permiten incluir
variables para imprimirlas junto al
texto.
Existen algunos caracteres especiales que no
pueden ser aadidos a una variable de tipo
string, a menos que avisemos antes a PHP
para que tenga cuidado a la hora de manejar
el dato. Este aviso se conoce como "secuencia
de escape" y no es ms que la inclusin
delante del carcter especial de un smbolo \.
As, si quiere insertar unas comillas dobles
entre un texto, tendr que escribir \" para que
no se produzca un error.
Ejemplo:
<?php
//Secuencias de escape
$cadenal = 'Aqu se pueden aadir comillas
"dobles"<br>';
$cadena2 = "Aqu se pueden aadir comillas
'simples'<br>" ;
$cadena3 = "Esta cadena da errores por las
comillas "dobles"<br>";
$cadena4 = "Esta cadena no da errores por
las comillas \"dobles\"<br>" ;
echo $cadenal;
echo $cadena2;
echo $cadena3;
echo $cadena4;
?>
Boolean:
Una variable de tipo boolean slo puede
contener dos valores: Verdadero o Falso. Se
suelen utilizar para comprobar si se cumple
una condicin en el programa.
Ejemplo:
<?php
$variable_booleana = TRUE;
if ($variable_booleana) {
echo ("El resultado es VERDADERO");
}
?>

S-ar putea să vă placă și