2015-03-13 15 views
9

Laravel 5 bị lỗi sau khi làm việc một thời gian. Đây là lỗi:Laravel 5 - Ghi vào thư mục nhà cung cấp

file_put_contents(/Library/WebServer/Documents/project/vendor/services.json): failed to open stream: Permission denied

in Filesystem.php line 74

Tôi tự hỏi tại sao nó cố ghi vào thư mục của nhà cung cấp?

+2

'nghệ nhân bộ nhớ cache php: clear' – macki

Trả lời

9

(Xem cập nhật dưới đây!)

Một số tập tin lưu trữ sử dụng cho bộ nhớ đệm nơi chuyển đến một vị trí khác nhau cho Laravel v5.0.15.

file bị ảnh hưởng:

  • services.json
  • compiled.php
  • routes.php

Để trích dẫn một trong những nhà phát triển:

It makes more sense in vendor. This makes it more clear that the file is very specifically tied to the installed dependencies.

Để biết thêm thông tin và thảo luận về chan ges, xem this commmit.

Cập nhật: Những người duy trì đã thay đổi hành vi này sau khi thảo luận.

Kể từ phiên bản 5.1, tất cả ba tệp sẽ được ghi vào bootstrap/cache. Nếu bạn đang ở phiên bản 5.0. *, Hãy đọc:

Thư mục của nhà cung cấp sẽ không được viết trừ khi thư đó thực sự có thể ghi được.

Ngoài ra, phương thức useStoragePathForOptimizations(bool) đã được thêm vào Illuminate \ Foundation \ App và có thể được gọi từ bootstrap/app.php. Điều này đặt thuộc tính $useStoragePathForOptimizations và xác định xem thư mục lưu trữ có nên được sử dụng để tối ưu hóa hay không.

Xem hai cam kết sau đây để biết thêm:

+2

nên này được chấp nhận trả lời. –

+1

Tôi phải làm gì để giải quyết vấn đề này? – thegeekajay

+1

@ ajay23romu, bạn có hai tùy chọn: 1) Nâng cấp lên Laravel 5.1, sử dụng thư mục 'bootstrap/cache' để lưu trữ các tệp bộ đệm. Đảm bảo thư mục này có thể ghi được. Hoặc 2) Chỉnh sửa 'bootstrap/app.php' và thêm dòng này:' $ app-> useStoragePathForOptimizations (true); 'Sau đó, hãy chắc chắn rằng thư mục' storage/framework' có thể ghi được. Tuy nhiên, bạn nên nâng cấp lên Laravel 5.1, đây là bản phát hành "Hỗ trợ dài hạn". – nicoqh

18

Hãy thử lệnh thợ thủ công này

php artisan cache:clear 
+0

Tuyệt vời! Cảm ơn rất nhiều :) – Matz

+0

wow, tôi không biết những gì đã xảy ra nhưng nó đã làm việc! mặc dù tôi đã thiết lập Form Facade khi tôi gặp phải vấn đề này. –

+2

Điều này làm việc cho tôi. –

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