نسخه:

لاراول والت

معرفی

به دنبال راه ساده‌تری برای توسعه برنامه‌های لاراول در macOS هستید؟ Laravel Herd را بررسی کنید . هرد شامل همه چیزهایی است که برای شروع توسعه لاراول نیاز دارید، از جمله Valet، PHP و Composer.

Laravel Valet یک محیط توسعه برای مینیمالیست های macOS است. Laravel Valet مک شما را طوری پیکربندی می‌کند که همیشه Nginx را در پس‌زمینه اجرا کند. سپس، با استفاده از DnsMasq ، Valet تمام درخواست‌های موجود در *.test دامنه را پراکسی می‌کند تا به سایت‌های نصب شده در دستگاه محلی شما اشاره کند.

به عبارت دیگر، Valet یک محیط توسعه سریع لاراول است که از 7 مگابایت رم استفاده می کند. Valet جایگزین کاملی برای Sail یا Homestead نیست ، اما اگر می‌خواهید اصول اولیه انعطاف‌پذیری داشته باشید، سرعت فوق‌العاده را ترجیح می‌دهید یا روی دستگاهی با مقدار RAM محدود کار می‌کنید، یک جایگزین عالی ارائه می‌دهد.

خارج از جعبه، پشتیبانی Valet شامل، اما محدود به موارد زیر نیست:

با این حال، می توانید Valet را با درایورهای سفارشی خود گسترش دهید .

نصب و راه اندازی

Valet به macOS و Homebrew نیاز دارد . قبل از نصب، باید مطمئن شوید که هیچ برنامه دیگری مانند Apache یا Nginx به پورت 80 دستگاه محلی شما متصل نیست.

برای شروع، ابتدا باید با استفاده از update دستور زیر مطمئن شوید که Homebrew به روز است:

brew update

در مرحله بعد، برای نصب PHP باید از Homebrew استفاده کنید:

brew install php

پس از نصب PHP، آماده نصب مدیریت بسته Composer هستید . علاوه بر این، باید مطمئن شوید که $HOME/.composer/vendor/bin دایرکتوری در "PATH" سیستم شما قرار دارد. پس از نصب Composer، می توانید Laravel Valet را به عنوان بسته جهانی Composer نصب کنید:

composer global require laravel/valet

در نهایت، می توانید دستور Valet را اجرا کنید install . با این کار Valet و DnsMasq پیکربندی و نصب می شود. علاوه بر این، شیاطین Valet وابسته به پیکربندی می‌شوند تا هنگام راه‌اندازی سیستم شما راه‌اندازی شوند:

valet install

پس از نصب Valet، *.test با استفاده از دستوری مانند ping هر دامنه را در ترمینال خود پینگ کنید ping foobar.test . اگر Valet به درستی نصب شده باشد، باید ببینید که این دامنه در پاسخ می‌دهد 127.0.0.1 .

هر بار که دستگاه شما بوت می شود، Valet به طور خودکار خدمات مورد نیاز خود را شروع می کند.

نسخه های پی اچ پی

به جای تغییر نسخه جهانی PHP خود، می توانید به Valet دستور دهید از نسخه های PHP هر سایت از طریق isolate دستور استفاده کند .

Valet به شما امکان می دهد نسخه های PHP را با استفاده از valet use php@version دستور تغییر دهید. Valet نسخه PHP مشخص شده را از طریق Homebrew نصب می کند اگر قبلاً نصب نشده باشد:

valet use php@8.2
 
valet use php

همچنین می توانید یک .valetrc فایل در ریشه پروژه خود ایجاد کنید. فایل .valetrc باید حاوی نسخه PHP باشد که سایت باید از آن استفاده کند:

php=php@8.2

پس از ایجاد این فایل، می توانید به سادگی valet use دستور را اجرا کنید و با خواندن فایل، این دستور نسخه PHP ترجیحی سایت را مشخص می کند.

Valet فقط یک نسخه PHP را در یک زمان ارائه می دهد، حتی اگر چندین نسخه PHP را نصب کرده باشید.

پایگاه داده

اگر برنامه شما به پایگاه داده نیاز دارد، DBngin را بررسی کنید ، که یک ابزار مدیریت پایگاه داده رایگان و همه کاره که شامل MySQL، PostgreSQL و Redis است، ارائه می‌کند. پس از نصب DBngin، می توانید با 127.0.0.1 استفاده از root نام کاربری و یک رشته خالی برای رمز عبور به پایگاه داده خود متصل شوید.

تنظیم مجدد نصب

اگر در اجرای صحیح نصب Valet خود با مشکل مواجه هستید، اجرای composer global require laravel/valet دستور به دنبال آن valet install نصب شما را بازنشانی می کند و می تواند مشکلات مختلفی را حل کند. در موارد نادر، ممکن است نیاز به "تنظیم مجدد" Valet با اجرای valet uninstall --force و به دنبال آن باشد valet install .

ارتقاء Valet

می توانید نصب Valet خود را با اجرای composer global require laravel/valet دستور در ترمینال خود به روز کنید. پس از ارتقاء، اجرای این دستور خوب است valet install تا Valet بتواند در صورت لزوم، فایل های پیکربندی شما را ارتقا دهد.

ارتقا به Valet 4

اگر در حال ارتقاء از Valet 3 به Valet 4 هستید، مراحل زیر را انجام دهید تا نصب Valet خود را به درستی ارتقا دهید:

  • .valetphprc اگر فایل هایی را برای سفارشی کردن نسخه PHP سایت خود اضافه کرده اید ، نام هر .valetphprc فایل را به .valetrc . سپس، php= به محتوای موجود فایل اضافه کنید .valetrc .
  • هر درایور سفارشی را به‌روزرسانی کنید تا با فضای نام، پسوند، راهنمایی‌های نوع و اشاره‌های نوع برگشتی سیستم درایور جدید مطابقت داشته باشد. شما می توانید به عنوان مثال از SampleValetDriver Valet استفاده کنید .
  • اگر از PHP 7.1 - 7.4 برای سرویس دادن به سایت‌های خود استفاده می‌کنید، مطمئن شوید که همچنان از Homebrew برای نصب نسخه‌ای از PHP 8.0 یا بالاتر استفاده می‌کنید، زیرا Valet از این نسخه استفاده می‌کند، حتی اگر نسخه پیوند شده اصلی شما نباشد، برای اجرای برخی از آن. اسکریپت ها

سایت های سرویس دهی

پس از نصب Valet، آماده شروع سرویس دهی به برنامه های لاراول خود هستید. Valet دو دستور را برای کمک به شما در ارائه برنامه های کاربردی ارائه می دهد: park و link .

دستور park

دستور park یک دایرکتوری را در دستگاه شما ثبت می کند که حاوی برنامه های کاربردی شما است. هنگامی که دایرکتوری با Valet "پارک شده" شد، همه دایرکتوری های موجود در آن دایرکتوری در مرورگر وب شما در آدرس زیر قابل دسترسی خواهند بود http://<directory-name>.test :

cd ~/Sites
 
valet park

این تمام چیزی است که در آن وجود دارد. اکنون، هر برنامه‌ای که در فهرست «پارک‌شده» خود ایجاد می‌کنید، به‌طور خودکار با استفاده از کنوانسیون ارائه می‌شود http://<directory-name>.test . بنابراین، اگر دایرکتوری پارک شده شما حاوی دایرکتوری به نام "laravel" باشد، برنامه در آن دایرکتوری در دسترس خواهد بود http://laravel.test . علاوه بر این، Valet به طور خودکار به شما اجازه می دهد تا با استفاده از زیر دامنه های wildcard ( ) به سایت دسترسی داشته باشید http://foo.laravel.test .

این link دستور همچنین می تواند برای سرویس دادن به برنامه های لاراول شما استفاده شود. اگر بخواهید یک سایت را در یک دایرکتوری و نه کل دایرکتوری را ارائه دهید، این دستور مفید است:

cd ~/Sites/laravel
 
valet link

هنگامی که یک برنامه با استفاده از دستور به Valet پیوند داده شد link ، می توانید با استفاده از نام دایرکتوری آن به برنامه دسترسی پیدا کنید. بنابراین، سایتی که در مثال بالا پیوند داده شده است، ممکن است در دسترسی باشد http://laravel.test . علاوه بر این، Valet به طور خودکار به شما امکان می دهد با استفاده از زیر دامنه های wildcard ( ) به سایت دسترسی داشته باشید http://foo.laravel.test .

اگر می‌خواهید برنامه را با نام میزبان دیگری ارائه کنید، می‌توانید نام میزبان را به link دستور ارسال کنید. به عنوان مثال، می توانید دستور زیر را برای در دسترس قرار دادن یک برنامه در آدرس زیر اجرا کنید http://application.test :

cd ~/Sites/laravel
 
valet link application

البته، می‌توانید با استفاده از link دستور زیر، برنامه‌ها را در زیر دامنه‌ها نیز ارائه دهید:

valet link api.application

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

valet links

این unlink دستور ممکن است برای از بین بردن پیوند نمادین یک سایت استفاده شود:

cd ~/Sites/laravel
 
valet unlink

ایمن سازی سایت ها با TLS

به طور پیش فرض، Valet سایت ها را از طریق HTTP ارائه می دهد. با این حال، اگر می خواهید یک سایت را با استفاده از HTTP/2 از طریق TLS رمزگذاری شده ارائه کنید، می توانید از secure دستور استفاده کنید. به عنوان مثال، اگر سایت شما توسط Valet در دامنه ارائه می شود laravel.test ، باید دستور زیر را برای ایمن سازی آن اجرا کنید:

valet secure laravel

برای "ناامن" کردن یک سایت و بازگشت به سرویس دادن به ترافیک آن از طریق HTTP ساده، از unsecure دستور استفاده کنید. مانند secure دستور، این دستور نام میزبانی را می‌پذیرد که می‌خواهید ایمن نکنید:

valet unsecure laravel

ارائه یک سایت پیش فرض

گاهی اوقات، ممکن است بخواهید 404 هنگام بازدید از یک test دامنه ناشناخته، Valet را برای سرویس دادن به یک سایت "پیش‌فرض" به جای a پیکربندی کنید. برای انجام این کار، می‌توانید default گزینه‌ای را به فایل پیکربندی خود اضافه کنید ~/.config/valet/config.json که حاوی مسیری به سایت است که باید به عنوان سایت پیش‌فرض شما عمل کند:

"default": "/Users/Sally/Sites/example-site",

نسخه های پی اچ پی در هر سایت

به طور پیش فرض، Valet از نصب جهانی PHP شما برای ارائه خدمات به سایت های شما استفاده می کند. با این حال، اگر نیاز به پشتیبانی از چندین نسخه PHP در سایت‌های مختلف دارید، می‌توانید از این isolate دستور برای تعیین نسخه PHP که یک سایت خاص باید استفاده کند استفاده کنید. این isolate فرمان Valet را برای استفاده از نسخه PHP مشخص شده برای سایتی که در فهرست کاری فعلی شما قرار دارد، پیکربندی می کند:

cd ~/Sites/example-site
 
valet isolate php@8.0

اگر نام سایت شما با نام دایرکتوری حاوی آن مطابقت ندارد، می توانید نام سایت را با استفاده از --site گزینه زیر مشخص کنید:

valet isolate php@8.0 --site="site-name"

برای راحتی، می توانید از دستورات valet php ، composer و which-php برای فراخوانی پروکسی به CLI یا ابزار مناسب PHP بر اساس نسخه PHP پیکربندی شده سایت استفاده کنید:

valet php
valet composer
valet which-php

می توانید isolated دستور نمایش لیستی از تمام سایت های ایزوله شده و نسخه های PHP آنها را اجرا کنید:

valet isolated

برای برگرداندن یک سایت به نسخه PHP نصب شده جهانی Valet، می توانید unisolate دستور را از دایرکتوری ریشه سایت فراخوانی کنید:

valet unisolate

اشتراک گذاری سایت ها

Valet شامل دستوری برای به اشتراک گذاشتن سایت های محلی شما با جهان است، که راهی آسان برای آزمایش سایت شما در دستگاه های تلفن همراه یا به اشتراک گذاری آن با اعضای تیم و مشتریان ارائه می دهد.

خارج از جعبه، Valet از اشتراک گذاری سایت های شما از طریق ngrok یا Expose پشتیبانی می کند. قبل از به اشتراک گذاری یک سایت، باید پیکربندی Valet خود را با استفاده از دستور به روز کنید و یکی یا را share-tool مشخص کنید : ngrok expose

valet share-tool ngrok

اگر ابزاری را انتخاب کنید و آن را از طریق Homebrew (برای ngrok) یا Composer (برای Expose) نصب نکنید، Valet به طور خودکار از شما می خواهد که آن را نصب کنید. البته، هر دو ابزار از شما می خواهند قبل از شروع به اشتراک گذاری سایت ها، حساب ngrok یا Expose خود را احراز هویت کنید.

برای اشتراک گذاری یک سایت، به دایرکتوری سایت در ترمینال خود بروید و share دستور Valet را اجرا کنید. یک URL در دسترس عموم در کلیپ بورد شما قرار می گیرد و آماده است که مستقیماً در مرورگر شما جایگذاری شود یا با تیم شما به اشتراک گذاشته شود:

cd ~/Sites/laravel
 
valet share

برای توقف اشتراک‌گذاری سایت خود، می‌توانید فشار دهید Control + C .

اگر از یک سرور DNS سفارشی استفاده می‌کنید (مانند 1.1.1.1 )، اشتراک‌گذاری ngrok ممکن است درست کار نکند. اگر این مورد در دستگاه شما است، تنظیمات سیستم Mac خود را باز کنید، به تنظیمات شبکه بروید، تنظیمات پیشرفته را باز کنید، سپس به تب DNS بروید و 127.0.0.1 به عنوان اولین سرور DNS خود را اضافه کنید.

اشتراک گذاری سایت ها از طریق Ngrok

اشتراک‌گذاری سایت خود با استفاده از ngrok مستلزم ایجاد یک حساب کاربری ngrok و تنظیم یک نشانه احراز هویت است . هنگامی که یک نشانه احراز هویت دارید، می توانید پیکربندی Valet خود را با آن نشانه به روز کنید:

valet set-ngrok-token YOUR_TOKEN_HERE

می توانید پارامترهای ngrok اضافی را به دستور share ارسال کنید، مانند valet share --region=eu . برای اطلاعات بیشتر، به مستندات ngrok مراجعه کنید .

اشتراک گذاری سایت ها از طریق Expose

برای اشتراک‌گذاری سایت خود با استفاده از Expose، باید یک حساب Expose ایجاد کنید و با Expose از طریق رمز احراز هویت خود احراز هویت کنید .

برای اطلاعات در مورد پارامترهای اضافی خط فرمان که پشتیبانی می کند، می توانید به اسناد Expose مراجعه کنید.

اشتراک گذاری سایت ها در شبکه محلی شما

Valet ترافیک ورودی را به 127.0.0.1 رابط داخلی به طور پیش فرض محدود می کند تا دستگاه توسعه شما در معرض خطرات امنیتی اینترنت قرار نگیرد.

اگر می خواهید به دستگاه های دیگر در شبکه محلی خود اجازه دهید از طریق آدرس IP دستگاه شما به سایت های Valet در دستگاه شما دسترسی داشته باشند (به عنوان مثال: 192.168.1.10/application.test )، باید به صورت دستی فایل پیکربندی Nginx مناسب را برای آن سایت ویرایش کنید تا محدودیت دستورالعمل حذف شود listen . . شما باید 127.0.0.1: پیشوند دایرکتیو listen پورت های 80 و 443 را حذف کنید.

valet secure اگر روی پروژه اجرا نکرده‌اید ، می‌توانید با ویرایش /usr/local/etc/nginx/valet/valet.conf فایل، دسترسی به شبکه را برای همه سایت‌های غیر HTTPS باز کنید. با این حال، اگر به سایت پروژه از طریق HTTPS سرویس می دهید (شما valet secure برای سایت اجرا کرده اید) باید ~/.config/valet/Nginx/app-name.test فایل را ویرایش کنید.

هنگامی که پیکربندی Nginx خود را به روز کردید، valet restart دستور اعمال تغییرات پیکربندی را اجرا کنید.

متغیرهای محیط خاص سایت

برخی از برنامه هایی که از چارچوب های دیگر استفاده می کنند ممکن است به متغیرهای محیط سرور بستگی داشته باشند، اما راهی برای پیکربندی آن متغیرها در پروژه شما ارائه نمی دهند. Valet به شما اجازه می دهد تا با افزودن یک .valet-env.php فایل در ریشه پروژه خود، متغیرهای محیطی خاص سایت را پیکربندی کنید . این فایل باید آرایه ای از جفت های متغیر سایت/محیط را برگرداند که $_SERVER برای هر سایت مشخص شده در آرایه به آرایه جهانی اضافه می شود :

<?php
 
return [
// Set $_SERVER['key'] to "value" for the laravel.test site...
'laravel' => [
'key' => 'value',
],
 
// Set $_SERVER['key'] to "value" for all sites...
'*' => [
'key' => 'value',
],
];

خدمات پروکسی

گاهی اوقات ممکن است بخواهید دامنه Valet را به سرویس دیگری در دستگاه محلی خود پراکسی کنید. به عنوان مثال، ممکن است گاهی اوقات نیاز به اجرای Valet داشته باشید در حالی که یک سایت جداگانه در Docker نیز اجرا می کنید. با این حال، Valet و Docker هر دو نمی توانند همزمان به پورت 80 متصل شوند.

برای حل این مشکل، می توانید از proxy دستور ایجاد یک پروکسی استفاده کنید. برای مثال، می‌توانید تمام ترافیک را از http://elasticsearch.test به http://127.0.0.1:9200 :

# Proxy over HTTP...
valet proxy elasticsearch http://127.0.0.1:9200
 
# Proxy over TLS + HTTP/2...
valet proxy elasticsearch http://127.0.0.1:9200 --secure

می توانید با استفاده از unproxy دستور زیر یک پروکسی را حذف کنید:

valet unproxy elasticsearch

می توانید از این proxies دستور برای فهرست کردن تمام تنظیمات سایتی که پروکسی شده اند استفاده کنید:

valet proxies

درایورهای نوکر سفارشی

می‌توانید «درایور» Valet خود را بنویسید تا به برنامه‌های PHP در حال اجرا بر روی یک چارچوب یا CMS که توسط Valet پشتیبانی نمی‌شود، ارائه شود. هنگامی که Valet را نصب می کنید، یک ~/.config/valet/Drivers دایرکتوری ایجاد می شود که حاوی یک SampleValetDriver.php فایل است. این فایل شامل یک اجرای درایور نمونه برای نشان دادن نحوه نوشتن یک درایور سفارشی است. برای نوشتن درایور فقط باید سه روش را اجرا کنید: serves , isStaticFile و frontControllerPath .

هر سه متد مقادیر، و و را به عنوان آرگومان های خود دریافت $sitePath می $siteName کنند $uri . $sitePath مسیر کاملاً واجد شرایط به سایتی است که در دستگاه شما ارائه می شود، مانند /Users/Lisa/Sites/my-project . $siteName بخش "میزبان" / "نام سایت" دامنه ( ) است my-project . $uri URI درخواست ورودی ( /foo/bar ) است .

هنگامی که درایور Valet سفارشی خود را تکمیل کردید، آن را ~/.config/valet/Drivers با استفاده از FrameworkValetDriver.php قرارداد نامگذاری در دایرکتوری قرار دهید. به عنوان مثال، اگر در حال نوشتن یک درایور سفارشی برای وردپرس هستید، نام فایل شما باید باشد WordPressValetDriver.php .

بیایید به یک نمونه پیاده‌سازی از هر روشی که درایور Valet سفارشی شما باید اجرا کند نگاهی بیاندازیم.

روش serves

اگر راننده شما باید درخواست ورودی را رسیدگی کند، روش serves باید برگردد . true در غیر این صورت، روش باید برگردد false . بنابراین، در این روش، باید سعی کنید تعیین کنید که آیا پروژه داده شده $sitePath حاوی پروژه ای از نوع مورد نظر شما است یا خیر.

برای مثال، بیایید تصور کنیم در حال نوشتن یک WordPressValetDriver . روش ما serves ممکن است چیزی شبیه به این باشد:

/**
* Determine if the driver serves the request.
*/
public function serves(string $sitePath, string $siteName, string $uri): bool
{
return is_dir($sitePath.'/wp-admin');
}

روش isStaticFile

باید isStaticFile تعیین کند که آیا درخواست ورودی برای فایلی است که "ایستا" است، مانند یک تصویر یا یک شیوه نامه. اگر فایل ثابت است، روش باید مسیر کاملا واجد شرایط را به فایل استاتیک روی دیسک برگرداند. اگر درخواست دریافتی مربوط به یک فایل ثابت نیست، متد باید به صورت زیر برگردد false :

/**
* Determine if the incoming request is for a static file.
*
* @return string|false
*/
public function isStaticFile(string $sitePath, string $siteName, string $uri)
{
if (file_exists($staticFilePath = $sitePath.'/public/'.$uri)) {
return $staticFilePath;
}
 
return false;
}

متد isStaticFile فقط در صورتی فراخوانی می شود که serves متد برای درخواست ورودی برگردد true و URI درخواست نباشد / .

روش frontControllerPath

این frontControllerPath روش باید مسیر کاملاً واجد شرایط را به «کنترل‌کننده جلو» برنامه شما برگرداند، که معمولاً یک فایل «index.php» یا معادل آن است:

/**
* Get the fully resolved path to the application's front controller.
*/
public function frontControllerPath(string $sitePath, string $siteName, string $uri): string
{
return $sitePath.'/public/index.php';
}

رانندگان محلی

اگر می خواهید برای یک برنامه یک درایور سفارشی Valet تعریف کنید، یک LocalValetDriver.php فایل در فهرست اصلی برنامه ایجاد کنید. درایور سفارشی شما ممکن است ValetDriver کلاس پایه را گسترش دهد یا یک درایور خاص برنامه موجود را گسترش دهد مانند LaravelValetDriver :

use Valet\Drivers\LaravelValetDriver;
 
class LocalValetDriver extends LaravelValetDriver
{
/**
* Determine if the driver serves the request.
*/
public function serves(string $sitePath, string $siteName, string $uri): bool
{
return true;
}
 
/**
* Get the fully resolved path to the application's front controller.
*/
public function frontControllerPath(string $sitePath, string $siteName, string $uri): string
{
return $sitePath.'/public_html/index.php';
}
}

سایر دستورات نوکر

فرمان شرح
valet list نمایش لیستی از تمام دستورات Valet.
valet diagnose تشخیص خروجی برای کمک به اشکال زدایی Valet.
valet directory-listing رفتار فهرست راهنما را تعیین کنید. پیش فرض "خاموش" است، که صفحه 404 را برای فهرست ها ارائه می کند.
valet forget این دستور را از یک پوشه "parked" اجرا کنید تا آن را از لیست پوشه پارک شده حذف کنید.
valet log فهرستی از گزارش‌های نوشته شده توسط سرویس‌های Valet را مشاهده کنید.
valet paths تمام مسیرهای "پارک شده" خود را مشاهده کنید.
valet restart دیمون های Valet را مجددا راه اندازی کنید.
valet start دیمون های Valet را راه اندازی کنید.
valet stop شیاطین والت را متوقف کنید.
valet trust فایل‌های sudoers را برای Brew و Valet اضافه کنید تا اجازه دهید دستورات Valet بدون درخواست رمز عبور شما اجرا شوند.
valet uninstall Uninstall Valet: دستورالعمل‌هایی را برای حذف نصب دستی نشان می‌دهد. --force گزینه حذف تهاجمی تمام منابع Valet را پاس کنید .

فهرست ها و فایل های Valet

ممکن است هنگام عیب‌یابی مشکلات محیط Valet، اطلاعات فهرست و فایل زیر برای شما مفید باشد:

~/.config/valet

شامل تمام تنظیمات Valet است. ممکن است بخواهید از این دایرکتوری یک نسخه پشتیبان تهیه کنید.

~/.config/valet/dnsmasq.d/

این دایرکتوری شامل پیکربندی DNSMasq است.

~/.config/valet/Drivers/

این فهرست شامل درایورهای Valet است. درایورها تعیین می کنند که چگونه یک چارچوب / CMS خاص ارائه می شود.

~/.config/valet/Nginx/

این فهرست شامل تمام تنظیمات سایت Nginx Valet است. این فایل ها هنگام اجرای دستورات install و بازسازی می شوند secure .

~/.config/valet/Sites/

این دایرکتوری شامل تمام پیوندهای نمادین پروژه های پیوند شده شما است .

~/.config/valet/config.json

این فایل، فایل پیکربندی اصلی Valet است.

~/.config/valet/valet.sock

این فایل سوکت PHP-FPM است که توسط نصب Nginx Valet استفاده می شود. این تنها در صورتی وجود خواهد داشت که PHP به درستی اجرا شود.

~/.config/valet/Log/fpm-php.www.log

این فایل لاگ کاربر برای خطاهای PHP است.

~/.config/valet/Log/nginx-error.log

این فایل گزارش کاربری خطاهای Nginx است.

/usr/local/var/log/php-fpm.log

این فایل گزارش سیستم برای خطاهای PHP-FPM است.

/usr/local/var/log/nginx

این دایرکتوری شامل گزارش های دسترسی و خطای Nginx است.

/usr/local/etc/php/X.X/conf.d

این دایرکتوری حاوی *.ini فایل هایی برای تنظیمات مختلف پیکربندی PHP است.

/usr/local/etc/php/X.X/php-fpm.d/valet-fpm.conf

این فایل فایل پیکربندی استخر PHP-FPM است.

~/.composer/vendor/laravel/valet/cli/stubs/secure.valet.conf

این فایل پیکربندی پیش‌فرض Nginx است که برای ساخت گواهی‌های SSL برای سایت‌های شما استفاده می‌شود.

دسترسی به دیسک

از macOS 10.14، دسترسی به برخی از فایل ها و دایرکتوری ها به طور پیش فرض محدود شده است . این محدودیت ها شامل دایرکتوری های دسکتاپ، اسناد و دانلودها می شود. علاوه بر این، حجم شبکه و دسترسی حجم قابل جابجایی محدود شده است. بنابراین، Valet توصیه می‌کند پوشه‌های سایت شما خارج از این مکان‌های محافظت‌شده قرار داشته باشند.

با این حال، اگر می‌خواهید از داخل یکی از آن مکان‌ها به سایت‌ها سرویس دهید، باید به Nginx «دسترسی کامل دیسک» بدهید. در غیر این صورت، ممکن است با خطاهای سرور یا سایر رفتارهای غیرقابل پیش بینی Nginx مواجه شوید، مخصوصاً هنگام ارائه دارایی های ثابت. به طور معمول، macOS به طور خودکار از شما می خواهد که به Nginx دسترسی کامل به این مکان ها بدهید. یا، می توانید این کار را به صورت دستی از طریق System Preferences > Security & Privacy > Privacy و انتخاب انجام دهید Full Disk Access . در مرحله بعد، هر nginx ورودی را در پنجره اصلی فعال کنید.