Статьи

Совет: разверните PHP на Heroku за считанные секунды

Раньше мы восхищались великолепием Heroku , главным образом потому, что он делает запуск приложений Rails или Node довольно простым без необходимости настройки собственного сервера. Но что, если вам нужна такая же свобода и скорость развертывания с PHP? К счастью, Heroku уже некоторое время спокойно предлагает поддержку PHP.


Для развертывания Heroku вам необходим прилагаемый инструментарий командной строки . Следуйте инструкциям на той же странице; они проведут вас через настройку пояса инструментов командной строки Heroku с вашей учетной записью Heroku .


Сначала создайте файл index.php каталоге вашего приложения и введите следующий код:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
<?php
# This function reads your DATABASE_URL configuration automatically set by Heroku
# the return value is a string that will work with pg_connect
function pg_connection_string() {
  // we will fill this out next
}
 
# Establish db connection
$db = pg_connect(pg_connection_string());
if (!$db) {
    echo «Database connection error.»
    exit;
}
 
$result = pg_query($db, «SELECT statement goes here»);
?>

Этот код использует pg_connect для подключения к вашей автоматически созданной базе данных Heroku Postgres. У нас пока нет информации о соединении; нам придется подождать, пока мы не создадим наш репозиторий Heroku. Давайте сделаем это сейчас. Из каталога вашего проекта выполните следующие команды:

1
2
3
4
> git init
> git add .
> heroku create

Это автоматически создаст ваш проект и добавит хранилище как heroku « heroku ». Теперь выполните следующие команды для развертывания проекта:

1
2
3
4
5
6
7
> git push heroku master
> heroku addons:add heroku-postgresql:dev # this will return something like the following
Adding heroku-postgresql on intense-harbor-6679… done, v8 (free)
Attached as HEROKU_POSTGRESQL_PINK
Database has been created and is available
> heroku pg:credentials COLOR
«dbname=abcdefg host=****.amazonaws.com port=5432 user=**** password=**** sslmode=require»

Эта последняя команда должна вернуть строку с учетными данными, которую вы можете использовать в файле index.php (или в любом index.php месте, где вам нужно соединение с базой данных).

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
<?php
# This function reads your DATABASE_URL configuration automatically set by Heroku
# the return value is a string that will work with pg_connect
function pg_connection_string() {
  return «dbname=abcdefg host=****.amazonaws.com port=5432 user=**** password=**** sslmode=require»;
}
 
# Establish db connection
$db = pg_connect(pg_connection_string());
if (!$db) {
    echo «Database connection error.»
    exit;
}
 
$result = pg_query($db, «SELECT statement goes here»);
?>

Чтобы просмотреть ваш index.php на Heroku, запустите heroku open , который просто откроет проект в вашем браузере.


Это оно! Существует множество других возможностей, которые вы можете узнать о Heroku, но это поможет вам развернуться и подключиться к базе данных менее чем за 5 минут.