Mostrando entradas con la etiqueta php. Mostrar todas las entradas
Mostrando entradas con la etiqueta php. Mostrar todas las entradas

jueves, 8 de mayo de 2014

Habilitar PostgreSQL con WAMP Server

Continuando con la serie de posts sobre PostgreSQL, vamos a incluir uno para habilitar el soporte de PostgreSQL con WAMP Server. Si tratáis de hacer uso de la función pg_connect() sin activar este soporte aparecerá el siguiente error:

Fatal error: Call to undefined function pg_connect() in ...

El proceso debería ser bastante sencillo, pero la presencia de un bug en la versión 2.X de WAMP Server lo complica un poco (aunque os daremos la solución más adelante).


Partimos del supuesto de un servidor WAMP ya instalado, si no sabéis cómo hacerlo tenéis un tutorial aquí: http://alcasoft.blogspot.com.es/2011/12/instalacion-de-un-servidor-local-wamp.HTML

Una vez instalado, la activación de los módulos de Apache y extensiones de PHP es relativamente sencilla: hacemos clic en el icono de WAMP en la barra de tareas > PHP > Extensiones de PHP y activamos las siguientes:

  • php_pdo_pgsql
  • php_pgsql



Al reiniciar los servicios de WAMP debería funcionar, pero si tratamos de hacer uso de la función sigue apareciendo el error:


Si verificáis las extensiones habilitadas (con la función phpinfo() dentro de una página PHP), podréis comprobar que pgsql no se encuentra activo pese a haberlo activado en el interfaz gráfico de WAMP.

Esto se debe a un bug en WAMP. PostgreSQL hace uso de la librería libpq.dll encargada de ejecutar consultas SQL en Postgre. Esta librería debería estar en la carpeta bin de la instalación de Apache, pero se encuentra en la carpeta de PHP.

La solución es sencilla: copiar esa librería a la carpeta correcta:

  • Origen: C:\wamp\bin\php\php5.3.10
  • Destino: C:\wamp\bin\apache\Apache2.2.21\bin
Las rutas obviamente pueden cambiar dependiendo del directorio raíz de vuestra instalación de WAMP y de la versión del mismo, pero espero que os sirvan de ejemplo.

Reiniciamos los servicios de WAMP y comprobamos de nuevo con phpinfo():

 
Ya aparece la extensión activa y podremos hacer uso de las funciones de PHP para PostgreSQL desde nuestro código.

domingo, 12 de mayo de 2013

Tutorial de PHP I: Introducción a PHP


PHP (acrónimo recursivo que significa PHP Hypertext Pre-processor) es un lenguaje de programación orientado a objetos orientado al desarrollo web con programación dinámica. Nos va a proporcionar toda la potencia de la que carece HTML para gestionar conexiones con bases de datos, crear contenido dinámico, etc...

CARACTERÍSTICAS DE PHP


La principal característica de PHP es su orientación a objetos. Ese paradigma de programación nos permite modelar la realidad en clases y objetos:

  • Clases: cualquier cosa del mundo real que queramos modelar (un coche, un impreso, una conexión...)
  • Objeto: ocurrencia de una clase concreta.
La mejor forma de entender este concepto es a través de un ejemplo: podemos modelar todos los coches como una clase de nombre coche. Esa clase tendrá una serie de características comunes a todos los coches (número de puertas, potencia, número de plazas, etc...). Un objeto sería un coche concreto, por ejemplo un Renault Clio con 5 puertas, 130 CV y 5 plazas.

Otra de sus características es su tipado dinámico. Como ya explicamos en el tutorial sobre Python, consiste en que el tipo de una variable se determina en tiempo de ejecución, es decir, en función del valor que le asignamos. A diferencia de Python, PHP tiene un tipado débil: el tipo de la variable puede cambiar si asignamos un valor de un tipo distinto (Python lanzaba una excepción).


<?
   a = "Hola Mundo";    //La variable es de tipo String
   a = 1;     //La variable ahora es de tipo entero
?>

Otra característica importante es que es interpretado en el propio servidor por lo que al cliente sólo le llegará código HTML. Esto viene muy bien ya que las conexiones con base de datos se hacen desde el servidor, con lo que aumenta la seguridad de nuestras aplicaciones.

Precisamente la conexión con base de datos está muy trabajado con PHP. Existen librerías de conexión y gestión con muchas bases de datos del mercado (comerciales y software libre). Las librerías de conexión con MySQL y PostgreSQL son de las más utilizadas (aunque podemos gestionar bases de datos Microsoft SQL Server y Access).


EL ENTORNO DE TRABAJO


Para ejecutar un script PHP necesitamos que nuestro servidor web lo soporte. La mayoría de los alojamientos actuales tienen soporte para PHP y si queremos trabajar en local existen unos paquetes instalables que contienen de forma conjunta un servidor web (Apache), soporte para el propio PHP y un servidor de bases de datos MySQL. Los tenemos disponibles para varias plataformas y disponéis de instrucciones de instalación en nuestro propio blog:


NUESTRO PRIMER SCRIPT


Un script PHP es un fichero de texto plano con extensión .php (para que el servidor web sepa de qué tipo de archivo se trata). Podemos encontrar otro tipo de extensiones como phtml, php5, etc... aunque lo más usual es trabajar con la extensión .php.

Su contenido puede ser exclusivamente php o tratarse de una página web escrita en HTML con php entre medias. Puede coexistir con lenguajes como JavaScript, JQuery...

El código PHP estará delimitado por los tags <?php y ?>, aunque es frecuente que nuestro servidor web soporte <? y ?> (la opción short_tags enabled en php.ini, ya os hablaremos de ello más adelante). Cada instrucción se separará de la siguiente con un punto y coma, y los bloques entre llaves (una notación muy similar a C++ o Java).

La primera instrucción de la que os vamos a hablar es echo. Esa instrucción imprime por pantalla la información que le pasemos (puede ser una cadena, una variable...). Podéis ver su funcionamiento en el siguiente fragmento de código:

<?php
    echo "hola mundo";
?>

Otra instrucción interesante es la siguiente:

<?php
   phpinfo();
?>

Esta segunda instrucción nos muestra por pantalla la configuración de PHP en nuestro servidor, muy interesante para saber con qué posibilidades y extensiones contamos (os lo explicaremos más adelante en otro post).

Por hoy ya está bien, id estirando los dedos que en el próximo post entraremos en más faena.

miércoles, 1 de mayo de 2013

Instalando en Debian la Plataforma LAMP





Para quien no sepa que es LAMP, le diré que simplemente es la unión del Sistema Operativo Linux (ya previamente instalado en el equipo o PC para los puristas),en este caso la distribución Debian 6.0.6, el Servidor de Internet  Apache versión 2.2, la base de Datos Mysql 5.1, y el Gestor de Lenguajes PHP5.Es decir, dotar a tu equipo o PC de un potente gestor para alojar páginas webs, e intranets, desde un sitiio particular hasta el de una gran empresa.


1.       Instalaríamos Apache2 en nuestro equipo con el siguiente comando: 

Sudo apt-get install apache2

Como observareis en la orden anterior los que no estéis muy duchos en el manejo del sistema operativo Linux, he invocado esta orden desde un terminal suponiendo que soy el root es decir el amo del sistema, en el caso de que hay accedido a Debian como usuario normal, tendré que abrir una consola terminal de superusuario o root meter la contraseña e indicar la orden que os he puesto arriba, ya que si no careceréis de los privilegios para instalar apache2, esto os va a pasar en todas las instalaciones que os iré comentando más abajo.

  2.      Instalamos PHP 5 ejecutando desde la consola de superusuario:

 Sudo apt-get install php5 libapache2-mod-php5 php5-common

Todo este comando invocado desde un terminal en realidad, a título informativo nos está diciendo que como superusuario, y con la invocación de la orden apt-get que simplemente es la orden que utiliza Debian, a diferencia de las distribuciones como Red Hat, que utiliza RPM, para descargar y posteriormente instalar librerías en el equipo.Para que PHP funcione una vez que este instalado, debemos reiniciar el servidor Apache, que ya hemos instalado en primer lugar con la orden.







apache2 restart

o

apache2ctl restart 

  Acordaos de una cosa muy importante que debéis de estar en la siguiente ruta, y como superususario para que os funcione el comando que indicáis, si no os volveréis loco intentándolo y no sabréis por qué no funciona jajajaja. 

/etc/init.d/apache2 restart
o

/etc/init.d/apache2ctl restart


Para comprobar que el PHP funciona correctamente creamos un archivo test.php, dentro del archivo escribimos <?php phpinfo(); ?>
Esta creación del archivo la podemos hacer como superusuario o root desde una ventana invocando el editor vi, que viene en todas las distribuciones de Linux o de Unix por defecto. Os dejo una página para que la consultéis si queréis aprender cómo utilizarlo pero básicamente, con la orden vi y nombre del fichero,  creáis el fichero y abrís el editor 

vi  test.php

introduces la orden

 <?php phpinfo(); ?> 

Y sales con la orden:

: wq

Os dejo  la dirección de esta página para que ampliéis el tema si os gusta:

http://iie.fing.edu.uy/~vagonbar/unixbas/editorvi.htm

Por ultimo en el navegador escribimos localhost/test.php y nos sale la siguiente pantalla:







Os aclaro que aunque la instalación la estoy haciendo en modo terminal en el equipo que tengo instalado Debian 6.0.6 tengo instalado el modo x terminal para que se ejecute en modo ventana o como dirían los puristas Windows, jajajaja.
  
3.       Ahora vamos a instalar, un servidor de base de datos MYSQL Los siguientes comandos instalarán el servidor y el cliente de msyql5: 

apt-get install mysql-server mysql-client php5-mysql  



Recordad que siempre estamos en modo superusuario , y que  comprobamos el resultado en el  x terminal de linux.





Recuerda apuntar o memorizar bien la contraseña porque es la contraseña para administrar la base de datos MySQL, y no se te puede olvidar jajajajaja. 
 
 4.      Para instalar el phpMyAdmin que sería el sistema de gestión de todo este entorno LAMP pero de un manera más agradable y menos áspera para los usuarios utilizaríamos la siguiente sintaxis 

apt-get install phpmyadmin

En principio con esta orden se os abriría el terminal y se instalaría en modo ventana, sin que vosotros tuvierais que hacer otra cosa nada más que lo que aparece en el último paso pero si no os pasara esto, debido a que en algunos casos y dependiendo de lo que se haya o hayáis instalado en vuestro Sistema operativo, y en concreto en Apache2, si ya lo habíais instalado previamente a esta instalación, y lo habíais utilizado debéis de incluir en el fichero de configuración de apache que está en la siguiente ruta:

vi /etc/apache2/apache.conf

La siguiente línea:

Include /etc/phpmyadmin/apache.conf

Guardar con:

:wq
 
Y reiniciar la máquina con:

/etc/init.d/apache2 restart

Para comprobar que phpMyAdmin está correctamente instalado, abrimos un navegador web y en la barra de direcciones ponemos:
 
http://localhost/phpmyadmin

No sé si os habéis dado cuento pero al ser localhost, es que esta trabajando en local, es decir, estamos trabajando en nuestro disco duro, no en internet y por lo tanto no estamos sirviendo paginas en internet, para ello os tendrías que buscar otro tutorial de cómo configurar Apache2 para servir paginas en internet y su funcionamientos (que no es muy difícil), o confiar en la divina providencia, y esperar a que lo publique en otro manual en Internet.   

Por último,  entrando con el usuario root, y la contraseña especificada durante la instalación, vemos que accedemos correctamente, y nos muestra la siguiente pantalla: 



Os espero haber aclarado algo todo el proceso de instalación de un entorno LAMP.

N.S.G
 

Recomendaciones de Alcasoft