В этой статье описывается пошаговый подход к размещению приложения Larave на Heroku. Он также объясняет, как сделать ваше приложение на Heroku работать с базой данных MySQL, поскольку Heroku не делает предоставление для MySQL. Я видел необходимость написать об этой теме после прохождения серии проблем, чтобы провести мою тестовое приложение Laravel с базой данных MySQL на Heroku.
Требования
В этой статье я предполагаю, что у вас уже есть приложение Laravel, готовое к развертыванию. Следующие инструменты потребуются:
- Командная строка для Windows или его эквивалент для других пользователей операционной системы.
- Аккаунт Heroku. Если у вас нет одного нажатия здесь, чтобы создать учетную запись учетной записи Heroku. Если у вас нет одного, нажмите здесь, чтобы создать учетную запись
- Интерфейс командной строки Heroku (CLI), Heroku имеет свой CLI для взаимодействия с ним. Вы можете скачать один здесь
вступление
Heroku является одним из платформ, как услуга, которая предлагает разработчики бесплатные хостинговые услуги. Это позволяет разработчику проверить производительность его/ее приложения, прежде чем переместить его в окончательную производственную среду.
Одним из недостатков с этой платформой является то, что он не предлагает MySQL Server по умолчанию, но, конечно, есть вокруг него, так как есть другие платформы, которые также предлагают бесплатные серверы MySQL, такие как DB4Free (который будет использоваться в этой статье) или Addradb Addons, которые дополняют этот дефицит.
Следуйте дальше, как я объясню, как вы можете принять свое приложение Laravel на Heroku и используя службу сервера MySQL с других платформ.
Шаг 1
Откройте командную строку. Перейдите к каталогу, в котором находится ваш проект Laravel. (Примечание Git Bash не поддерживает Heroku CLI). Войдите в свой аккаунт Heroku, работающие;
heroku login
Шаг 2 Запустите следующие команды:
git init //to initialize a new repo git add --all git commit -m "my first commit"
Шаг 3
Создайте Proffile. Heroku запускает сервер Apache с PHP для обслуживания приложения из корня проекта, который в нашем случае является публичным/папкой. Для его настраивания требуется прорезка.
Создайте файл в корне вашего проекта и назовите его ProCFile. Примечание. Расширение не требуется, а буква P должна быть прописными. Скопируйте строку ниже и вставьте в ProPFile, которую вы создали и сохраните его.
web: vendor/bin/heroku-php-apache2 public/
Procfile должен выглядеть как скриншот ниже:
Кроме того, вы можете запустить команду ниже, чтобы создать ProCFile:
echo "web: vendor/bin/heroku-php-apache2 public/" > Procfile
Затем беги,
git add Procfile git commit -m "Heroku Procfile"
Далее — создать новое приложение Heroku.
Шаг 4 Создать свой приложение Heroku;
heroku create
Примечание
выше служит вашим доменным именем. Если вы не добавите его, Heroku будет создавать имя приложения для вас.
Далее — указать язык приложения как PHP.
Шаг 5 Чтобы создать Buildpack, который укажет PHP в качестве языка приложения;
heroku buildpacks:set heroku/php
Далее состоит в том, чтобы генерировать ключ приложения для приложения Laravel на окружающей среде Heroku.
Шаг 6 Беги PHP Artisan Key.: генерировать --хвал
Скопируйте сгенерированный ключ и запустите команду ниже, настройте значение app_key к ключу, которое вы скопировали.
heroku config:set APP_KEY=
Нам нужно установить журнал ошибок в журнал ошибок Heroku.
Сделать это, перейдите к config/app.php
и установить «Журнал» => «ErrorLog»
Отказ
С этим вы можете просмотреть свой журнал ошибок приложения на приборной панели Heroku. Сохранить и Git Add Add и Commit.
Пришло время провести приложение! Возьмите чашку кофе ☕️, возьмите SIP и переходите на следующий шаг.
Шаг 6.
Чтобы провести приложение в Heroku, беги
git push heroku master --app
Примечание: часть — это --app
Нужно только если у вас есть более одного приложения, размещенного на Heroku.
Чтобы запустить приложение из командной строки бегать
heroku open --app
Если ваша единственная цель — принять свое приложение Laravel без базы данных, вы можете игнорировать следующий раздел и перейти к выводу.
Часть 2: Интеграция базы данных MySQL в приложение
Наша следующая цель — добавить базу данных MySQL в наше приложение. Есть несколько сайтов, которые предлагают бесплатный MySQL Server. Но для этой статьи мы будем использовать db4free. .
Шаги следующие:
Зарегистрируйтесь на db4free. . После регистрации вам будет предложено по почте, чтобы проверить вашу электронную почту. После проверки вы будете перенаправлены на страницу, где вы увидите следующие данные:
Database: [database name you specified] Username: [username you specified] Email: [your email]
Шаг 2
Перейдите в свой Laravel Project и перейдите к config/database.php
и обновить его с db4free Детали базы данных MySQL, которые вы создали ранее, как показано ниже:
'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', 'db4free.net'), 'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', 'your_database_name from_db4free'), 'username' => env('DB_USERNAME', 'your_db4free_ username'), 'password' => env('DB_PASSWORD', 'your_db4free_password'), 'unix_socket' => env('DB_SOCKET', ''), 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', 'strict' => true, 'engine' => null, ],
Сохрани это. Git Add, Commit and Push to Heroku.
git add config/database.php git commit -m "update database" git push heroku master --app
Шаг 4.
Вам нужно использовать Bash Heroku, чтобы запустить ваши миграции. Бегать,
heroku run bash
Далее — запускать свои миграции, убедитесь, что вы используете последующие команды на Bash Heroku.
php artisan migrate --app
На данный момент ваша база данных установлена. Если вы хотите осевать базу данных, вы можете перейти к следующим шагам следующим образом:
Шаг 5.
php artisan db:seed --app
Если вы столкнулись с ошибкой, аналогичной скриншоту, показанному ниже, не паникуйте, вы охвачены. 😌
Чтобы исправить это, выполните следующие действия:
- Перейдите в свой проект Laravel, перейдите к Composer.json
- Заменить «Фзанинотто/Faker» «требовать dev» с «требованием»
- Выйдите из барабана Heroku, запустив выход
- GIT добавить и совершать изменения в ваш проект
git add composer.json git commit -m "modified composer.json" git push heroku master --app
- Вернитесь в Геюку Баш,
- Ронаёку бегают Bash
- Запустить композитор установить
- После завершения композитора установка необходимых зависимостей, перейдите к миграции и семению базы данных, запустив команды ниже:
php artisan migrate:refresh --seed --force
Груз! Все сейчас работает нормально! 👯♂. ️
Вывод
Теперь вы узнали, как принять свое удивительное приложение Laravel на Heroku. Вы также узнали, как вы можете включить MySQL Server, чтобы позволить вашему приложению работать с базой данных MySQL. Если вы хотите узнать больше о Heroku, вы можете посетить Heroku Docs . Если вы также хотите узнать о автоматическом развертывании Heroku из Git Нажмите здесь Отказ
Спасибо, что нашли время прочитать, я надеюсь, что статья помогла вам!
Не стесняйтесь добраться до того, чтобы у вас есть какие-либо вопросы или вклад, который сделает эту статью лучше для сообщества.
Эта статья была первоначально опубликована на средний
Оригинал: «https://dev.to/nedsoft/how-to-host-a-laravel-app-with-mysql-database-on-heroku-52np»