Conectar PHP con PostgreSQL mediante PDO (se necesita en la Unidad 3)
La versión la decide Ubuntu
Ubuntu 24.04 instala PHP 8.3. No hace falta buscar una versión específica ni
agregar repositorios externos.
Verificar
php --version
Debe responder con la versión instalada. Para confirmar que la extensión de
PostgreSQL quedó habilitada:
php -m | grep pdo
Entre los resultados tiene que aparecer pdo_pgsql. Si no aparece, falta instalar
php-pgsql.
Probar que funciona
Crea un archivo prueba.php:
<?phpecho "PHP está funcionando\n";echo "Versión: " . PHP_VERSION . "\n";
Y ejecútalo:
php prueba.php
El servidor de desarrollo
PHP trae un servidor web incorporado, suficiente para todo el curso. Desde la
carpeta del proyecto:
php -S localhost:8000
Luego abre http://localhost:8000 en el navegador. Para detenerlo, Ctrl + C.
Este servidor es solo para desarrollo
El servidor incorporado de PHP no está pensado para publicar un sitio real. Sirve
para probar en tu máquina mientras programas, y eso es exactamente lo que
necesitamos.
Live Server no sirve para PHP
La extensión Live Server solo entrega archivos tal cual, sin ejecutarlos. Un
.php abierto con Live Server te mostrará el código fuente en vez del resultado.
Desde la Unidad 2 en adelante, usa php -S.
Checkpoint
Intenta responder antes de desplegar cada pregunta.
¿Qué comando instala PHP junto con el soporte para PostgreSQL?
sudo apt install php php-cli php-pgsql
php-pgsql es el que aporta PDO para PostgreSQL, y se necesita recién en la
Unidad 3, pero conviene instalarlo de una vez.
¿Cómo verificas que pdo_pgsql quedó habilitado?
php -m | grep pdo
php -m lista los módulos cargados. Entre los resultados tiene que aparecer
pdo_pgsql; si no está, falta instalar php-pgsql.
¿Qué comando levanta el servidor de desarrollo y en qué dirección se ve?
php -S localhost:8000
Se ejecuta desde la carpeta del proyecto y el sitio queda en
http://localhost:8000. Se detiene con Ctrl + C.
¿Por qué Live Server no funciona con archivos PHP?
Porque Live Server solo entrega archivos tal cual, sin ejecutarlos. PHP
necesita ser interpretado por el servidor antes de enviar nada: si abres un .php
con Live Server, verás el código fuente en vez del resultado.