2015-04-19 22 views
27

Nó được viết trong tài liệu Laravel 5 rằng php artisan config:cache lưu tất cả cấu hình ứng dụng vào một tệp duy nhất giúp ứng dụng tải nhanh hơn.Làm thế nào để ngăn chặn Laravel 5 từ cấu hình bộ nhớ đệm?

Tôi muốn biết hai điều:

Điều đầu tiên là, làm thế nào để buộc Laravel để ngăn chặn bộ nhớ đệm cấu hình ứng dụng của tôi? Ví dụ, tôi muốn Laravel đọc tên cơ sở dữ liệu của tôi và mật khẩu từ tệp .env hoặc từ tệp cấu hình database.php, không phải từ dữ liệu được lưu trong bộ nhớ cache.

Điều thứ hai là, Laravel lưu trữ tệp cấu hình được lưu trong bộ nhớ cache này ở đâu để tôi có thể xóa nó khi cần? Tôi biết có một lệnh Artisan cho rằng, đó là php artisan config:clear, nhưng tôi muốn biết nơi lưu trữ tệp.

+0

Đây là một câu hỏi hay +1 – kikuyu1

Trả lời

35

Bạn không thể dừng bộ đệm ẩn của tệp cấu hình vì nó không tự động xảy ra. Điều duy nhất bạn cần làm là không gọi số config:cache.

Bản thân tệp có thể được tìm thấy trong bootstrap/cache/config.php.

Lưu ý rằng vị trí của tệp cấu hình đã biên dịch đã thay đổi gần đây. Bạn cũng có thể ở số vendor/config.php hoặc storage/framework/config.php. Với cài đặt mới hoặc nếu bạn chạy composer update, tệp phải ở trong bootstrap/cache.

+0

Làm việc với tôi, nó được mã hóa cứng trong Laravel 5, tại [vendor/config.php] –

+9

Nếu bạn gọi 'config: cache' trong quá trình phát triển cục bộ, bạn có thể hoàn tác điều này bằng cách xóa tệp 'bootstrap/cache/config.php'. Nếu không, bạn có thể trải nghiệm việc gọi 'getenv()' sẽ không trả về giá trị mong muốn –

+0

Chúng tôi đã gặp phải vấn đề này khi chúng ta thêm 'config: cache' làm hook triển khai trong envoyer (cho máy chủ sản xuất). Kỳ lạ thay, bằng cách nào đó nó đã không lấy tất cả các giá trị từ tập tin .env. –

Các vấn đề liên quan