Раньше мы восхищались великолепием Heroku , главным образом потому, что он делает запуск приложений Rails или Node довольно простым без необходимости настройки собственного сервера. Но что, если вам нужна такая же свобода и скорость развертывания с PHP? К счастью, Heroku уже некоторое время спокойно предлагает поддержку PHP.
Убедитесь, что у вас есть Heroku Toolbelt
Для развертывания 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 минут.