سلام دوستان خوبم ، میخوام در این آموزش یک تجربه دیگر هم با شما به اشتراک بگذارم

شاید شما هم در پروژه های خودتون قصد داشته باشید به یک سرور خارجی (دیتابیس) متصل بشید و عملیات CRUD بروی آن انجام بدید و یا حتی میخواهید به دیتابیس لوکال یا محلی خودتون متصل بشید ولی این سرور بنابه دلایلی قطع میباشد ، در حالت پیشفرض لاراول بر اساس حداکثر زمان مجاز اجرای دستورات که بر روی برنامه وبسرور تنظیم شده عمل کرده و شمارو برای مدت زمان زیادی منتظر خواهد گذاشت تا در به دیتابیس متصل شود و برنامه شما یجورایی هنگ خواهد کرد و کنترل اون از دست شما خارج خواهد شد که این سبب میشه تا برای دستورات دیگه بعد از دستور اتصال، زمان انتظار زیادی جهت اجرا شدنشون بوجود بیاد و سرعت سیستم بشدت پائین خواهد اومد. یا در سناریویی دیگه شما قصد دارید مثلا آنلاین بودن 5 تا سرور رو چک کنید ، خب شما با یک پارامتر یا آپشن در کلاس PDO میتونید یک زمان حداکثری برای منتظر موندن این کلاس جهت ارتباط تعیین کنید تا در صورت موفقیت آمیز بودن اتصال عملیات مورد نظر شما بر روی دیتابیس انجام بشه و در صورت عدم اتصال هم سریع به شما یک خطایی رو برگردونه که با هندل کردن خطا سرور رو از حالت کرش نجات بدید.

برای اینکار وارد مسیر زیر در پروژه لاراولی (5.7) خود شوید و در داخل فایل connector.php حداکثر زمان انتظار برای اتصال رو در قسمت آپشن های کلاس اتصال تعیین کنید :

 

تایم اوت pdo

 
تنظیم زیر رو اضافه نمائید :
تایم اوت اتصال در لاراول
 
در پایان هم دستور زیر رو در کامپوزر اجرا کنید تا اتولود دوباره جنریت کنه همه چی رو

composer dump

موفق و موید باشید
ارادتمند مهدی حسامی