Skip to main content

PHP

مقدمه

اگر فایل composer.json در روت پروژه‌ی شما باشد، زبان آن PHP تشخیص داده می‌شود. dependencyهای اپ شما از روی این فایل نصب می‌شوند.

نسخه‌های پشتیبانی شده‌ی PHP در حال حاضر عبارت‌اند از:

PHP 7.3
PHP 7.4
PHP 8.0

برای اجرای اپ شما می‌توانید در فایلی به نام Procfile به شکل زیر دستور اجرایی خود را بنویسید:

web: vendor/bin/heroku-php-apache2 public/

طبق این دستور یک وب سرور apache2 راه‌اندازی می‌شود و روت آن پوشه‌ی public خواهد بود. اگر پوشه‌ی دیگری برای آن در نظر دارید مسیر دیگری را جایگزین کنید. هم‌چنین در صورتی که می‌خواهید وب سرور شما nginx باشد به جای vendor/bin/heroku-php-apache2 دستور vendor/bin/heroku-php-nginx را بنویسید. در صورتی که چند دستور پیش از شروع لازم است (مثلا اجرای migrationها) می‌توانید آن‌ها را در اسکریپت شل بنوبسید و آن را موقع اجرای اپ صدا بزنید.

نکته‌ی دیگری که باید به آن توجه کنید این است که یک متغیر محیطی به نام APP_KEY را باید هنگام ساخت اپ تعیین کنید که مقدار آن خروجی دستور زیر است:

php artisan key:generate --show

برای اطلاعات بیشتر می‌توانید به مستندات سایت heroku مراجعه کنید.

ساخت اپ در دارکوب

در صفحه‌ی اول کنسول هم‌روش در بخش «ساخت اپ بدون داکرفایل» گزینه‌ی PHP را انتخاب کنید:

و در صفحه‌ی بعد نوع سرور گیت خود را انتخاب کنید:

در صفحه‌ی تنظیمات اپ پیشنهاداتی برای اپ شما داده شده که می‌توانید از آنها استفاده کنید:

از جمله نام، آدرس زیردامنه و پورت. دقت کنید که پورت باید همان پورتی باشد که برنامه‌ی شما روی آن گوش می‌دهد. بقیه‌ی مقادیر را هم می‌توانید به دلخواه تغییر دهید. هم‌چنین برای اجرای اپ باید دستوری را مشخص کنید. اگر این دستور را در Procfile‍‍ ننوشته‌اید در قسمت «دستور اجرایی» بنویسید. می‌توانید برای اطلاع بیشتر از این موضوع بخش قبلی را مطالعه کنید. بعد از این صفحه به «انتخاب پلن» می‌روید.

در اینجا پلن خود را انتخاب کنید و در پایین صفحه اگر نیاز به دیسک دارید آن را اضافه کنید.

در انتهای صفحه می‌توانید جزئیات اپ خود را ببینید:

با زدن دکمه‌ی «ساخت اپ» اپ شما دیپلوی می‌شود. سپس در بخش «اطلاعات عمومی» و در تب ‌Builds می‌توانید لاگ بیلد خود را ببینید.

در نهایت با مراجعه به آدرس دامنهی که انتخاب کرده بودید می‌توانید اپ خود را ببینید. در این جا ما از اپ آماده‌ی heroku به عنوان اپ تستی خود استفاده کردیم.