بادبان لاراول
- معرفی
- نصب و راه اندازی
- شروع و توقف بادبان
- اجرای دستورات
- تعامل با پایگاه های داده
- ذخیره سازی فایل
- در حال اجرا تست ها
- پیش نمایش ایمیل ها
- کانتینر CLI
- نسخه های پی اچ پی
- نسخه های گره
- به اشتراک گذاری سایت شما
- اشکال زدایی با Xdebug
- سفارشی سازی
معرفی
Laravel Sail یک رابط خط فرمان سبک وزن برای تعامل با محیط توسعه پیش فرض Docker لاراول است. Sail یک نقطه شروع عالی برای ساخت یک برنامه لاراول با استفاده از PHP، MySQL و Redis بدون نیاز به تجربه قبلی Docker فراهم می کند.
در قلب خود، Sail
docker-compose.yml
فایل و
sail
اسکریپتی است که در ریشه پروژه شما ذخیره می شود. این
sail
اسکریپت یک CLI با روشهای راحت برای تعامل با کانتینرهای Docker تعریف شده توسط
docker-compose.yml
فایل ارائه میکند.
Laravel Sail در macOS، Linux و Windows (از طریق WSL2 ) پشتیبانی میشود.
نصب و راه اندازی
Laravel Sail به طور خودکار با تمام برنامه های جدید Laravel نصب می شود، بنابراین می توانید بلافاصله از آن استفاده کنید. برای یادگیری نحوه ایجاد یک برنامه جدید لاراول، لطفاً به اسناد نصب لاراول برای سیستم عامل خود مراجعه کنید. در حین نصب، از شما خواسته می شود که انتخاب کنید برنامه شما با کدام سرویس های پشتیبانی شده Sail تعامل داشته باشد.
نصب Sail در برنامه های موجود
اگر علاقه مند به استفاده از Sail با یک برنامه Laravel موجود هستید، می توانید به سادگی Sail را با استفاده از مدیریت بسته Composer نصب کنید. البته، این مراحل فرض میکنند که محیط توسعه محلی موجود شما به شما امکان میدهد وابستگیهای Composer را نصب کنید:
composer require laravel/sail --dev
پس از نصب Sail، می توانید
sail:install
دستور Artisan را اجرا کنید. این دستور فایل Sail را
docker-compose.yml
در ریشه برنامه شما منتشر می کند و
.env
فایل شما را با متغیرهای محیطی مورد نیاز برای اتصال به سرویس های Docker تغییر می دهد:
php artisan sail:install
در نهایت، ممکن است بادبانی را شروع کنید. برای ادامه یادگیری نحوه استفاده از Sail، لطفاً به خواندن بقیه این مستندات ادامه دهید:
./vendor/bin/sail up
اگر از Docker Desktop برای لینوکس استفاده می کنید، باید
default
با اجرای دستور زیر از زمینه Docker استفاده کنیدdocker context use default
:
افزودن خدمات اضافی
اگر می خواهید یک سرویس اضافی به نصب Sail موجود خود اضافه کنید، می توانید
sail:add
دستور Artisan را اجرا کنید:
php artisan sail:add
استفاده از Devcontainers
اگر میخواهید در یک
Devcontainer
توسعه دهید ، میتوانید
--devcontainer
گزینهای را برای
sail:install
فرمان ارائه دهید. این گزینه
دستور انتشار یک
فایل پیش فرض را در ریشه برنامه شما
--devcontainer
می دهد :
sail:install
.devcontainer/devcontainer.json
php artisan sail:install --devcontainer
بازسازی تصاویر بادبان
گاهی اوقات ممکن است بخواهید تصاویر Sail خود را به طور کامل بازسازی کنید تا مطمئن شوید که تمام بسته ها و نرم افزارهای تصویر به روز هستند. می توانید با استفاده از
build
دستور زیر این کار را انجام دهید:
docker compose down -v sail build --no-cache sail up
پیکربندی نام مستعار پوسته
بهطور پیشفرض، دستورات Sail با استفاده از
vendor/bin/sail
اسکریپتی که در تمام برنامههای جدید لاراول گنجانده شده است، فراخوانی میشوند:
./vendor/bin/sail up
با این حال، به جای تایپ مکرر
vendor/bin/sail
برای اجرای دستورات Sail، ممکن است بخواهید یک نام مستعار پوسته را پیکربندی کنید که به شما امکان می دهد دستورات Sail را راحت تر اجرا کنید:
alias sail='sh $([ -f sail ] && echo sail || echo vendor/bin/sail)'
برای اطمینان از اینکه همیشه در دسترس است، میتوانید آن را به فایل پیکربندی پوسته خود در فهرست اصلی خود، مانند
~/.zshrc
یا اضافه کنید
~/.bashrc
و سپس پوسته خود را مجدداً راهاندازی کنید.
هنگامی که نام مستعار پوسته پیکربندی شد، میتوانید دستورات Sail را با تایپ کردن ساده اجرا کنید
sail
. بقیه مثالهای این مستندات فرض میکنند که شما این نام مستعار را پیکربندی کردهاید:
sail up
شروع و توقف بادبان
فایل Laravel Sail
docker-compose.yml
انواع مختلفی از کانتینرهای Docker را تعریف می کند که با هم کار می کنند تا به شما در ساخت برنامه های لاراول کمک کنند. هر یک از این کانتینرها یک ورودی در
services
پیکربندی فایل شما هستند
docker-compose.yml
. کانتینر
laravel.test
کانتینر برنامه اولیه است که به برنامه شما سرویس می دهد.
قبل از شروع Sail، باید مطمئن شوید که هیچ سرور وب یا پایگاه داده دیگری بر روی رایانه محلی شما اجرا نمی شود. برای راه اندازی همه کانتینرهای Docker تعریف شده در
docker-compose.yml
فایل برنامه خود، باید این
up
دستور را اجرا کنید:
sail up
برای راهاندازی همه کانتینرهای Docker در پسزمینه، میتوانید Sail را در حالت «جداشده» راهاندازی کنید:
sail up -d
هنگامی که کانتینرهای برنامه راه اندازی شد، می توانید به پروژه در مرورگر وب خود در آدرس زیر دسترسی داشته باشید: http://localhost .
برای متوقف کردن همه کانتینرها، می توانید به سادگی Control + C را فشار دهید تا اجرای کانتینر متوقف شود. یا اگر کانتینرها در پسزمینه اجرا میشوند، میتوانید از
stop
دستور زیر استفاده کنید:
sail stop
اجرای دستورات
هنگام استفاده از Laravel Sail، برنامه شما در یک ظرف Docker اجرا می شود و از رایانه محلی شما جدا شده است. با این حال، Sail یک راه راحت برای اجرای دستورات مختلف در برابر برنامه شما مانند دستورات دلخواه PHP، دستورات Artisan، دستورات Composer و دستورات Node/NPM ارائه میکند.
هنگام خواندن اسناد لاراول، اغلب ارجاعاتی به دستورات Composer، Artisan و Node/NPM می بینید که به Sail اشاره نمی کنند. این مثال ها فرض می کنند که این ابزارها بر روی رایانه محلی شما نصب شده اند. اگر از Sail برای محیط توسعه Laravel محلی خود استفاده می کنید، باید آن دستورات را با استفاده از Sail اجرا کنید:
# Running Artisan commands locally...php artisan queue:work # Running Artisan commands within Laravel Sail...sail artisan queue:work
اجرای دستورات PHP
دستورات PHP ممکن است با استفاده از
php
دستور اجرا شوند. البته این دستورات با استفاده از نسخه PHP که برای برنامه شما پیکربندی شده است اجرا می شوند. برای کسب اطلاعات بیشتر در مورد نسخه های PHP موجود برای Laravel Sail، به
اسناد نسخه PHP
مراجعه کنید :
sail php --version sail php script.php
اجرای دستورات کامپوزر
دستورات Composer ممکن است با استفاده از دستور اجرا شوند
composer
. ظرف برنامه Laravel Sail شامل نصب Composer است:
sail composer require laravel/sanctum
نصب وابستگی های Composer برای برنامه های موجود
اگر در حال توسعه یک برنامه با یک تیم هستید، ممکن است شما کسی نباشید که در ابتدا برنامه لاراول را ایجاد می کند. بنابراین، هیچ یک از وابستگی های Composer برنامه، از جمله Sail، پس از کلون کردن مخزن برنامه در رایانه محلی خود نصب نمی شود.
می توانید با رفتن به فهرست برنامه و اجرای دستور زیر، وابستگی های برنامه را نصب کنید. این دستور از یک ظرف کوچک Docker حاوی PHP و Composer برای نصب وابستگی های برنامه استفاده می کند:
docker run --rm \ -u "$(id -u):$(id -g)" \ -v "$(pwd):/var/www/html" \ -w /var/www/html \ laravelsail/php83-composer:latest \ composer install --ignore-platform-reqs
هنگام استفاده از تصویر، باید
از
laravelsail/phpXX-composer
همان نسخه PHP استفاده کنید که قصد دارید برای برنامه خود استفاده کنید (
80
،،،،
یا
).
81
82
83
اجرای دستورات صنعتگر
دستورات Laravel Artisan ممکن است با استفاده از
artisan
دستور زیر اجرا شوند:
sail artisan queue:work
اجرای دستورات Node/NPM
دستورات Node ممکن است با استفاده از
node
دستور اجرا شوند در حالی که دستورات NPM ممکن است با استفاده از
npm
دستور اجرا شوند:
sail node --version sail npm run dev
در صورت تمایل، می توانید از Yarn به جای NPM استفاده کنید:
sail yarn
تعامل با پایگاه های داده
MySQL
همانطور که ممکن است متوجه شده باشید، فایل برنامه شما
docker-compose.yml
حاوی ورودی برای یک ظرف MySQL است. این کانتینر از یک
حجم Docker
استفاده می کند تا داده های ذخیره شده در پایگاه داده شما حتی در هنگام توقف و راه اندازی مجدد کانتینرها همچنان باقی بماند.
علاوه بر این، اولین باری که کانتینر MySQL راه اندازی می شود، دو پایگاه داده برای شما ایجاد می کند. اولین پایگاه داده با استفاده از مقدار
DB_DATABASE
متغیر محیطی شما نامگذاری شده است و برای توسعه محلی شما است. دومی یک پایگاه داده آزمایشی اختصاصی است که نام دارد
testing
و تضمین می کند که آزمایشات شما با داده های توسعه شما تداخل نداشته باشد.
هنگامی که کانتینرهای خود را راه اندازی کردید، می توانید با تنظیم
DB_HOST
متغیر محیطی در
.env
فایل برنامه خود به نمونه MySQL در برنامه خود متصل شوید
mysql
.
برای اتصال به پایگاه داده MySQL برنامه خود از دستگاه محلی خود، می توانید از یک برنامه مدیریت پایگاه داده گرافیکی مانند
TablePlus
استفاده کنید . به طور پیش فرض، پایگاه داده MySQL در
localhost
پورت 3306 قابل دسترسی است و اعتبار دسترسی با مقادیر متغیرهای شما
DB_USERNAME
و
DB_PASSWORD
محیط مطابقت دارد. یا ممکن است به عنوان
root
کاربر متصل شوید که از مقدار
DB_PASSWORD
متغیر محیطی شما به عنوان رمز عبور خود نیز استفاده می کند.
ردیس
فایل برنامه شما
docker-compose.yml
همچنین حاوی ورودی برای یک ظرف
Redis
است . این کانتینر از یک
ولوم داکر
استفاده میکند تا دادههای ذخیره شده در دادههای Redis شما حتی در زمان توقف و راهاندازی مجدد کانتینرها باقی بماند. هنگامی که کانتینرهای خود را راه اندازی کردید، می توانید با تنظیم
REDIS_HOST
متغیر محیطی در
.env
فایل برنامه خود به نمونه Redis در برنامه خود متصل شوید
redis
.
برای اتصال به پایگاه داده Redis برنامه خود از دستگاه محلی خود، می توانید از یک برنامه مدیریت پایگاه داده گرافیکی مانند
TablePlus
استفاده کنید . به طور پیش فرض، پایگاه داده Redis در
localhost
پورت 6379 قابل دسترسی است.
Meilisearch
اگر هنگام نصب Sail، سرویس Meilisearch
را نصب کنید
، فایل برنامه شما
docker-compose.yml
حاوی ورودی این موتور جستجوی قدرتمند است که
با
Laravel Scout
سازگار
است . هنگامی که کانتینرهای خود را راه اندازی کردید، می توانید با تنظیم
متغیر محیطی خود به نمونه Meilisearch در برنامه خود متصل شوید
.
MEILISEARCH_HOST
http://meilisearch:7700
از دستگاه محلی خود، میتوانید با پیمایش در مرورگر وب خود، به پانل مدیریت مبتنی بر وب Meilisearch دسترسی پیدا کنید
http://localhost:7700
.
Typesense
اگر هنگام نصب Sail، سرویس
Typesense
را نصب کنید ، فایل برنامه شما
docker-compose.yml
حاوی ورودی برای این موتور جستجوی سریع برق آسا و منبع باز است که به طور بومی با
Laravel Scout
ادغام شده است . هنگامی که کانتینرهای خود را راه اندازی کردید، می توانید با تنظیم متغیرهای محیطی زیر به نمونه Typesense در برنامه خود متصل شوید:
TYPESENSE_HOST=typesenseTYPESENSE_PORT=8108TYPESENSE_PROTOCOL=httpTYPESENSE_API_KEY=xyz
از دستگاه محلی خود، می توانید از طریق به API Typesense دسترسی داشته باشید
http://localhost:8108
.
ذخیره سازی فایل
اگر قصد دارید از Amazon S3 برای ذخیره فایل ها در حین اجرای برنامه خود در محیط تولید آن استفاده کنید، ممکن است بخواهید
هنگام نصب Sail، سرویس
MinIO
را نصب کنید. MinIO یک API سازگار با S3 ارائه می دهد که می توانید از آن برای توسعه محلی با استفاده از درایور ذخیره فایل لاراول
s3
بدون ایجاد سطل های ذخیره سازی "تست" در محیط تولید S3 خود استفاده کنید. اگر هنگام نصب Sail، MinIO را نصب کنید، یک بخش پیکربندی MinIO به
docker-compose.yml
فایل برنامه شما اضافه خواهد شد.
بهطور پیشفرض، فایل پیکربندی برنامه شما
filesystems
از قبل دارای پیکربندی دیسک برای
s3
دیسک است. علاوه بر استفاده از این دیسک برای تعامل با آمازون S3، میتوانید از آن برای تعامل با هر سرویس ذخیرهسازی فایل سازگار با S3 مانند MinIO به سادگی با تغییر متغیرهای محیط مرتبط که پیکربندی آن را کنترل میکنند، استفاده کنید. به عنوان مثال، هنگام استفاده از MinIO، پیکربندی متغیر محیط فایل سیستم شما باید به صورت زیر تعریف شود:
FILESYSTEM_DISK=s3AWS_ACCESS_KEY_ID=sailAWS_SECRET_ACCESS_KEY=passwordAWS_DEFAULT_REGION=us-east-1AWS_BUCKET=localAWS_ENDPOINT=http://minio:9000AWS_USE_PATH_STYLE_ENDPOINT=true
برای اینکه ادغام Flysystem لاراول URL های مناسبی را هنگام استفاده از MinIO ایجاد کند، باید
AWS_URL
متغیر محیطی را طوری تعریف کنید که با URL محلی برنامه شما مطابقت داشته باشد و نام سطل را در مسیر URL شامل شود:
AWS_URL=http://localhost:9000/local
می توانید از طریق کنسول MinIO که در دسترس است، سطل ایجاد کنید
http://localhost:8900
. نام کاربری پیشفرض کنسول MinIO
sail
در حالی است که رمز عبور پیشفرض آن است
password
.
هنگام استفاده از MinIO ، ایجاد URLهای ذخیره موقت از طریق این
temporaryUrl
روش پشتیبانی نمی شود.
در حال اجرا تست ها
لاراول پشتیبانی آزمایشی فوقالعادهای را ارائه میکند، و میتوانید از
test
دستور Sail برای اجرای ویژگیهای برنامهها
و تستهای واحد
استفاده کنید . هر گزینه CLI که توسط Pest / PHPUnit پذیرفته می شود نیز ممکن است به دستور ارسال شود
test
:
sail test sail test --group orders
دستور Sail
test
معادل اجرای
test
دستور Artisan است:
sail artisan test
به طور پیش فرض، Sail یک پایگاه داده اختصاصی ایجاد می کند
testing
تا آزمایشات شما با وضعیت فعلی پایگاه داده شما تداخل نداشته باشد. در نصب پیشفرض لاراول، Sail
phpunit.xml
فایل شما را برای استفاده از این پایگاه داده در هنگام اجرای آزمایشهای شما پیکربندی میکند:
<env name="DB_DATABASE" value="testing"/>
Laravel Dusk
Laravel Dusk
یک API آزمایشی و اتوماسیون مرورگر رسا و با استفاده آسان ارائه می دهد. به لطف Sail، میتوانید این آزمایشها را بدون نصب سلنیوم یا ابزارهای دیگر بر روی رایانه محلی خود اجرا کنید. برای شروع، سرویس Selenium را در
docker-compose.yml
فایل برنامه خود لغو نظر کنید:
selenium: image: 'selenium/standalone-chrome' extra_hosts: - 'host.docker.internal:host-gateway' volumes: - '/dev/shm:/dev/shm' networks: - sail
در مرحله بعد، مطمئن شوید که
laravel.test
سرویس در فایل برنامه شما
docker-compose.yml
دارای
depends_on
ورودی برای
selenium
:
depends_on: - mysql - redis - selenium
در نهایت، می توانید مجموعه تست Dusk خود را با راه اندازی Sail و اجرای
dusk
دستور زیر اجرا کنید:
sail dusk
سلنیوم روی سیلیکون اپل
اگر دستگاه محلی شما دارای تراشه سیلیکون اپل است،
selenium
سرویس شما باید از
seleniarm/standalone-chromium
تصویر استفاده کند:
selenium: image: 'seleniarm/standalone-chromium' extra_hosts: - 'host.docker.internal:host-gateway' volumes: - '/dev/shm:/dev/shm' networks: - sail
پیش نمایش ایمیل ها
فایل پیشفرض Laravel Sail
docker-compose.yml
حاوی یک ورودی سرویس برای
Mailpit
است . Mailpit ایمیل های ارسال شده توسط برنامه شما را در طول توسعه محلی رهگیری می کند و یک رابط وب مناسب ارائه می دهد تا بتوانید پیام های ایمیل خود را در مرورگر خود پیش نمایش کنید. هنگام استفاده از Sail، میزبان پیشفرض Mailpit
mailpit
از طریق پورت 1025 در دسترس است:
MAIL_HOST=mailpitMAIL_PORT=1025MAIL_ENCRYPTION=null
هنگامی که Sail در حال اجرا است، می توانید به رابط وب Mailpit در آدرس زیر دسترسی داشته باشید: http://localhost:8025
کانتینر CLI
گاهی اوقات ممکن است بخواهید یک جلسه Bash را در ظرف برنامه خود شروع کنید. می توانید از
shell
دستور برای اتصال به کانتینر برنامه خود استفاده کنید و به شما امکان می دهد فایل ها و سرویس های نصب شده آن را بررسی کنید و همچنین دستورات پوسته دلخواه را در کانتینر اجرا کنید:
sail shell sail root-shell
برای شروع یک جلسه
Laravel Tinker
جدید ، می توانید این
tinker
دستور را اجرا کنید:
sail tinker
نسخه های پی اچ پی
Sail در حال حاضر از ارائه برنامه شما از طریق PHP 8.3، 8.2، 8.1 یا PHP 8.0 پشتیبانی می کند. نسخه پیش فرض PHP مورد استفاده توسط Sail در حال حاضر PHP 8.3 است. برای تغییر نسخه PHP که برای ارائه برنامه شما استفاده می شود، باید
build
تعریف کانتینر را
laravel.test
در فایل برنامه خود به روز کنید
docker-compose.yml
:
# PHP 8.3context: ./vendor/laravel/sail/runtimes/8.3 # PHP 8.2context: ./vendor/laravel/sail/runtimes/8.2 # PHP 8.1context: ./vendor/laravel/sail/runtimes/8.1 # PHP 8.0context: ./vendor/laravel/sail/runtimes/8.0
علاوه بر این، ممکن است بخواهید
image
نام خود را به روز کنید تا منعکس کننده نسخه PHP مورد استفاده برنامه شما باشد. این گزینه نیز در فایل برنامه شما تعریف شده است
docker-compose.yml
:
image: sail-8.2/app
پس از بهروزرسانی فایل برنامه
docker-compose.yml
، باید تصاویر ظرف خود را دوباره بسازید:
sail build --no-cache sail up
نسخه های گره
Sail Node 20 را به طور پیش فرض نصب می کند. برای تغییر نسخه Node که هنگام ساخت تصاویر شما نصب می شود، می توانید
build.args
تعریف
laravel.test
سرویس را در فایل برنامه خود به روز کنید
docker-compose.yml
:
build: args: WWWGROUP: '${WWWGROUP}' NODE_VERSION: '18'
پس از بهروزرسانی فایل برنامه
docker-compose.yml
، باید تصاویر ظرف خود را دوباره بسازید:
sail build --no-cache sail up
به اشتراک گذاری سایت شما
گاهی اوقات ممکن است نیاز داشته باشید که سایت خود را به صورت عمومی به اشتراک بگذارید تا پیش نمایش سایت خود را برای یک همکار انجام دهید یا یکپارچه سازی وب هوک را با برنامه خود آزمایش کنید. برای اشتراک گذاری سایت خود، می توانید از
share
دستور استفاده کنید. پس از اجرای این دستور، یک URL تصادفی برای شما صادر می شود
laravel-sail.site
که می توانید از آن برای دسترسی به برنامه خود استفاده کنید:
sail share
هنگامی که سایت خود را از طریق
share
دستور به اشتراک می گذارید، باید پراکسی های مورد اعتماد برنامه خود را با استفاده از
trustProxies
روش میان افزار موجود در فایل برنامه خود پیکربندی کنید
bootstrap/app.php
. در غیر این صورت، کمککنندههای تولید URL مانند
url
و
route
نمیتوانند میزبان HTTP صحیحی را که باید در طول تولید URL استفاده شود، تعیین کنند:
->withMiddleware(function (Middleware $middleware) { $middleware->trustProxies(at: [ '*', ]);})
اگر میخواهید زیر دامنهای را برای سایت اشتراکگذاری شده خود انتخاب کنید، میتوانید
subdomain
هنگام اجرای
share
دستور این گزینه را ارائه دهید:
sail share --subdomain=my-sail-site
این
share
فرمان توسط Expose ، یک سرویس تونلسازی متنباز توسط BeyondCode ارائه میشود .
اشکال زدایی با Xdebug
پیکربندی Docker Laravel Sail شامل پشتیبانی از
Xdebug
، یک دیباگر محبوب و قدرتمند برای PHP است. برای فعال کردن Xdebug، باید چند متغیر به
.env
فایل برنامه خود اضافه کنید تا
Xdebug را پیکربندی کنید
. برای فعال کردن Xdebug باید قبل از شروع Sail حالت(های) مناسب را تنظیم کنید:
SAIL_XDEBUG_MODE=develop,debug,coverage
پیکربندی IP میزبان لینوکس
در داخل،
XDEBUG_CONFIG
متغیر محیطی طوری تعریف شده است
client_host=host.docker.internal
که Xdebug به درستی برای مک و ویندوز (WSL2) پیکربندی شود. اگر دستگاه محلی شما لینوکس را اجرا می کند، باید مطمئن شوید که Docker Engine 17.06.0+ و Compose 1.16.0+ را اجرا می کنید. در غیر این صورت، باید به صورت دستی این متغیر محیطی را مطابق شکل زیر تعریف کنید.
ابتدا باید آدرس IP میزبان صحیح را برای افزودن به متغیر محیطی با اجرای دستور زیر تعیین کنید. به طور معمول،
<container-name>
باید نام کانتینری باشد که به برنامه شما ارائه میشود و اغلب با
_laravel.test_1
:
docker inspect -f {{range.NetworkSettings.Networks}}{{.Gateway}}{{end}} <container-name>
پس از به دست آوردن آدرس IP میزبان صحیح، باید متغیر را
SAIL_XDEBUG_CONFIG
در فایل برنامه خود تعریف کنید
.env
:
SAIL_XDEBUG_CONFIG="client_host=<host-ip-address>"
استفاده از Xdebug CLI
هنگام اجرای دستور Artisan، ممکن است از یک
sail debug
دستور برای شروع جلسه رفع اشکال استفاده شود:
# Run an Artisan command without Xdebug...sail artisan migrate # Run an Artisan command with Xdebug...sail debug migrate
استفاده از مرورگر Xdebug
برای اشکال زدایی برنامه خود در حین تعامل با برنامه از طریق مرورگر وب، دستورالعمل های ارائه شده توسط Xdebug را برای شروع یک جلسه Xdebug از مرورگر وب دنبال کنید.
اگر از PhpStorm استفاده میکنید، لطفاً مستندات JetBrain در مورد اشکالزدایی با پیکربندی صفر را بررسی کنید .
Laravel Sail
artisan serve
برای ارائه برنامه شما به آن متکی است. اینartisan serve
فرمان فقط متغیرهایXDEBUG_CONFIG
و راXDEBUG_MODE
از نسخه 8.53.0 لاراول می پذیرد. نسخه های قدیمی لاراول (8.52.0 و پایین تر) از این متغیرها پشتیبانی نمی کنند و اتصالات اشکال زدایی را نمی پذیرند.
سفارشی سازی
از آنجایی که Sail فقط Docker است، می توانید تقریباً همه چیز را در مورد آن سفارشی کنید. برای انتشار Dockerfiles خود Sail، می توانید این
sail:publish
دستور را اجرا کنید:
sail artisan sail:publish
پس از اجرای این دستور، Dockerfiles و سایر فایل های پیکربندی که توسط Laravel Sail استفاده می شود، در دایرکتوری
docker
در فهرست اصلی برنامه شما قرار می گیرند. پس از سفارشی کردن نصب Sail، ممکن است بخواهید نام تصویر ظرف برنامه را در
docker-compose.yml
فایل برنامه خود تغییر دهید. پس از انجام این کار، کانتینرهای برنامه خود را با استفاده از
build
دستور بازسازی کنید. اگر از Sail برای توسعه چندین برنامه Laravel در یک ماشین استفاده می کنید، اختصاص یک نام منحصر به فرد به تصویر برنامه بسیار مهم است:
sail build --no-cache