سلام.
من از لاراول 5.7 استفاده میکنم موقعی که دستور php artisan optimize را میخام اجرا کنم ارور زیر را میگیرم
برای رفع ارور باید چیکار کنم ؟
LogicException : Your configuration files are not serializable.
at C:\xampp\htdocs\laravel-course\digistyle2\vendor\laravel\framework\src\Illuminate\Foundation\Console\ConfigCacheCommand.php:71
67| require $configPath;
68| } catch (Throwable $e) {
69| $this->files->delete($configPath);
70|
71| throw new LogicException('Your configuration files are not serializable.', 0, $e);
72| }
73|
74| $this->info('Configuration cached successfully!');
75| }
Exception trace:
1 Error::("Call to undefined method Closure::__set_state()")
C:\xampp\htdocs\laravel-course\digistyle2\bootstrap\cache\config.php:496
2 require()
C:\xampp\htdocs\laravel-course\digistyle2\vendor\laravel\framework\src\Illuminate\Foundation\Console\ConfigCacheCommand.php:67
Please use the argument -v to see more details.
موقعی که این کامند شما صدا میزنید میاد و فایل های کانفیگ شما را کش میکنه.
یکی از این فایل ها روت های شما هست.
برای کش کردن روت ها شما نباید داخل فایل روت از کلوژر استفاده کرده باشید
باید تمام روت هایی که تعریف کردید به یک کنترلر وصل شده باشه و از function() استفاده نکرده باشید تا بتونه براتون کش را بسازه
روت ها همه به کنترلر وصل هست
فک کنم باید فایل config.php در مسیرbootstrap/cache حذف کنم.
بازم اطمینان ندارم
سلام، با این دستور یه کاری که انجام میده اینه که یه سری فایل ها رو کش میکنه، مثلا روت ها رو، فایل های کانفیگ رو، برای همین شما نباید توی این فایل ها از کلوژر یا همون فانکشن استفاده کنید، توی روت ها که باید به کنترلر ارجاع بدین، و توی فایل های کانفیگ باید از هلگرفانکشن استفاده کنید
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟