Consejo rápido: implementa PHP en Heroku en segundos
Spanish (Español) translation by Esther (you can also view the original English article)
Ya hemos hablado de la brillantez de Heroku, sobre todo del hecho de que hace que el lanzamiento de una aplicación Rails o Node sea bastante sencillo sin tener que configurar un servidor propio. ¿Pero qué pasa si quieres el mismo tipo de libertad y velocidad de despliegue con PHP? Afortunadamente, Heroku ha ofrecido tranquilamente soporte para PHP durante bastante tiempo.
Asegúrate de tener el cinturón de herramientas Heroku
Para el despliegue de Heroku, se necesita el cinturón de herramientas de línea de mando proporcionado. Sigue las instrucciones en la misma página; te guiarán a través de la configuración del cinturón de herramientas de la línea de comandos de Heroku con tu cuenta de Heroku.
Preparados, listos, desplegados
Primero, crea un archivo index.php dentro del directorio de tu aplicación, y escribe el siguiente código:
1 |
<?php
|
2 |
# This function reads your DATABASE_URL configuration automatically set by Heroku
|
3 |
# the return value is a string that will work with pg_connect
|
4 |
function pg_connection_string() { |
5 |
// we will fill this out next
|
6 |
}
|
7 |
|
8 |
# Establish db connection
|
9 |
$db = pg_connect(pg_connection_string()); |
10 |
if (!$db) { |
11 |
echo "Database connection error." |
12 |
exit; |
13 |
}
|
14 |
|
15 |
$result = pg_query($db, "SELECT statement goes here"); |
16 |
?>
|
Este código utiliza pg_connect para conectarse a tu base de datos Heroku Postgres creada automáticamente. Aún no tenemos la información de conexión; tendremos que esperar hasta después de crear nuestro depósito de Heroku. Hagámoslo ahora. Desde tu directorio de proyecto, ejecuta los siguientes comandos:
1 |
> git init
|
2 |
> git add . |
3 |
> heroku create
|
4 |
... |
Esto crea automáticamente tu proyecto y añade el repositorio como la rama "heroku". Ahora ejecuta los siguientes comandos para desplegar el proyecto:
1 |
> git push heroku master
|
2 |
> heroku addons:add heroku-postgresql:dev # this will return something like the following |
3 |
Adding heroku-postgresql on intense-harbor-6679... done, v8 (free) |
4 |
Attached as HEROKU_POSTGRESQL_PINK |
5 |
Database has been created and is available |
6 |
> heroku pg:credentials COLOR
|
7 |
"dbname=abcdefg host=****.amazonaws.com port=5432 user=**** password=**** sslmode=require"
|
Este comando final debe devolver una cadena de credenciales que puedas utilizar en tu archivo index.php (o en cualquier lugar donde necesites una conexión a la base de datos).
1 |
<?php
|
2 |
# This function reads your DATABASE_URL configuration automatically set by Heroku
|
3 |
# the return value is a string that will work with pg_connect
|
4 |
function pg_connection_string() { |
5 |
return "dbname=abcdefg host=****.amazonaws.com port=5432 user=**** password=**** sslmode=require"; |
6 |
}
|
7 |
|
8 |
# Establish db connection
|
9 |
$db = pg_connect(pg_connection_string()); |
10 |
if (!$db) { |
11 |
echo "Database connection error." |
12 |
exit; |
13 |
}
|
14 |
|
15 |
$result = pg_query($db, "SELECT statement goes here"); |
16 |
?>
|
Para ver tu index.php en Heroku, ejecuta heroku open, que simplemente abre el proyecto en tu navegador.
Conclusión
¡Eso es todo! Hay mucho más que puedes aprender sobre Heroku, pero esto te desplegará y conectará a una base de datos en menos de 5 minutos.



