file_put_contents (meta / services.json): không thể mở luồng: Quyền bị từ chối


168

Tôi mới đến Laravel. Tôi đã cố gắng để mở http://localhost/test/public/và tôi đã nhận

Lỗi trong xử lý ngoại lệ.

Tôi đã đi vòng quanh và thay đổi sự cho phép của thư mục lưu trữ bằng cách sử dụng chmod -R 777 app/storagenhưng không có kết quả.

Tôi đã thay đổi debug=>truetrong app.phpvà truy cập trang và nhận được Lỗi trong xử lý ngoại lệ:

Không thể mở luồng hoặc tệp "/var/www/html/test/app/st Storage / logs /laravel.log": không thể mở luồng: Quyền bị từ chối trong / var / www / html / test / bootstrap / được biên dịch. Php: 8423

Sau đó, tôi đã thay đổi quyền của thư mục lưu trữ bằng lệnh chmod -R 644 app/storagevà lỗi 'Lỗi trong trình xử lý ngoại lệ' đã biến mất và một trang được tải. Nhưng trong đó tôi đang nhận được điều này:

file_put_contents (/var/www/html/laravel/app/st Storage / meta / service.json): không thể mở luồng: Quyền bị từ chối


2
Có vẻ như vấn đề hoán vị một lần nữa, chmod đệ quy tất cả các thư mục ứng dụng
alou

@alou Tôi nghĩ rằng tôi đã thực hiện điều đó với ứng dụng / lưu trữ chmod -R 777. Có phải tôi không? Và tất cả các thư mục trong ứng dụng có sự cho phép của drwxrwxrwx.
vishnub1626

33
Hãy thử: php artisan cache:clearsau đó chmod -R 777 app/storagecuối cùngphp artisan dump-autoload
vsmoraes

@vsmoraes Nó hoạt động. Nó sẽ thực sự hữu ích nếu bạn có thể giải thích vấn đề là gì.
vishnub1626

7
Nhận xét của vsmoraes là đúng tuy nhiên thay vì 'php artisan dump-autoload' nên là 'nhà soạn nhạc dump-autoload'
Elliot Robert

Câu trả lời:


320

Gợi ý từ vsmoraes làm việc cho tôi:

Ấu trùng> = 5,4

php artisan cache:clear 
chmod -R 777 storage/
composer dump-autoload

Ấu trùng <5,4

php artisan cache:clear 
chmod -R 777 app/storage 
composer dump-autoload

LƯU Ý: KHÔNG LÀM ĐIỀU NÀY TRÊN BẤT CỨ MÁY CHỦ TỪ XA (DEV HOẶC SẢN XUẤT)

Khi tôi hỏi câu hỏi này, đây là một vấn đề trên localhost của tôi, đang chạy trong Máy ảo. Vì vậy, tôi nghĩ rằng thiết lập 777 là đủ an toàn, tuy nhiên, mọi người đã đúng khi họ nói rằng bạn nên tìm một giải pháp khác. Hãy thử 775 trước


8
Đây phải là sudo chmod -R 777 ứng dụng / lưu trữ. để tránh lỗi cho phép.
Olaitan Mayowa

5
Đối với # Laravel5, các hướng dẫn gần như giống hệt nhau : php artisan cache:clear, sau đó chmod -R 777 storagevà sau đó composer dump-autoload
WNRosenberg

6
Nếu bạn đang sử dụng Laravel 5.1+, bạn sẽ cần phải chmod -R 777 storagethay thế
James

10
php artisan cache:clearlà câu trả lời đúng Sau đó sudo chmod -R ug+rw storagecung cấp các quyền chính xác cho tôi, mà không cung cấp cho othersđọc / ghi hoặc đặc biệt là thực thi các đặc quyền.
Zack Morris

43
Câu trả lời và chủ đề này là điểm nổi bật tại sao tôi không thích Laravel rất nhiều: nó dạy cho các nhà phát triển rằng bạn có thể làm bất cứ điều gì bạn muốn, bất cứ khi nào bạn muốn, nhanh như bạn muốn, mà không nghĩ đến hậu quả (tôi hiểu 777không phải là cụ thể của Laravel, nhưng quá trình suy nghĩ cho các nhà phát triển của Laravel là: "làm cho nó hoạt động NGAY BÂY GIỜ, tôi không quan tâm làm thế nào", giống như 777). Như một quy tắc chung, không bao giờ, bao giờ, đặt bất cứ điều gì 777để có được một cái gì đó để làm việc. HIỂU máy chủ của bạn và người dùng / vai trò của bạn và đặt chúng cho phù hợp; Đừng hack nó. Khách hàng của bạn tin tưởng bạn làm điều này đúng.
dKen

70

Dành cho những người làm việc đã và đang đối mặt với vấn đề này với Laravel 5.

Đây là vấn đề cấp phép do những người dùng khác nhau cố gắng ghi vào cùng một tệp nhật ký trong storage/logsthư mục với các quyền khác nhau.

Điều xảy ra là cấu hình laravel của bạn có thể được thiết lập để ghi nhật ký lỗi hàng ngày và do đó máy chủ web của bạn (apache / nginx) có thể tạo tệp này theo người dùng mặc định tùy thuộc vào môi trường của bạn, nó có thể giống như _wwwtrên OSX hoặc www-datatrên các hệ thống * NIX, sau đó là sự cố xuất hiện khi bạn có thể đã chạy một số lệnh thủ công và gặp một số lỗi, vì vậy nghệ nhân sẽ viết tệp này nhưng với một người dùng khác vì PHP trên thiết bị đầu cuối được thực thi bởi một người dùng khác thực sự là người dùng đăng nhập của bạn, bạn có thể kiểm tra nó bằng cách chạy lệnh này :

php -i | grep USER

Nếu người dùng đăng nhập của bạn đã tạo tệp nhật ký đó, máy chủ web của bạn, bạn sẽ không thể ghi lỗi trong đó và ngược lại vì laravel ghi tệp nhật ký với 655 quyền theo mặc định chỉ cho phép chủ sở hữu ghi vào đó.

Để khắc phục tạm thời, bạn phải cấp quyền cho nhóm 664cho tệp này theo cách thủ công để cả người dùng đăng nhập và người dùng máy chủ web của bạn có thể ghi vào tệp nhật ký đó.

Để tránh sự cố này vĩnh viễn, bạn có thể muốn thiết lập quyền thích hợp khi tệp mới được tạo trong storage/logsthư mục bằng cách kế thừa các quyền từ thư mục câu trả lời này https://unix.stackexchange.com/a/115632 có thể giúp bạn giải quyết cái đó.


fan-friggen-tastic trả lời ở đây! Tôi đang chạy trên Elastic Beanstalk và người dùng PHP dòng lệnh của tôi là "người dùng ec2" nhưng ứng dụng của tôi chạy dưới dạng "webapp".
Randy L

1
Một câu trả lời giải thích vấn đề. tức là một câu trả lời thích hợp
Craicerjack

Điều này giúp tôi nhận ra lý do tại sao tôi gặp lỗi bộ nhớ cache tệp trong Laravel trên Cloudways. Tôi cần nhấn nút trong bảng điều khiển Cloudways để đặt lại quyền truy cập tệp. Cảm ơn.
Ryan

44

Bạn không nên cấp quyền 777. Đó là một rủi ro bảo mật. Đối với người dùng Ubuntu, trong Laravel 5, tôi cố gắng thay đổi chủ sở hữu để lưu trữ thư mục theo cách đệ quy:

Hãy thử làm theo:

sudo chown -R www-data:www-data storage

Trong các hệ thống dựa trên Ubuntu, dữ liệu www là người dùng apache.


2
Điều này cố định cho tôi, và đúng hơn (tôi nghĩ) hơn là chmod 777câu trả lời. Cảm ơn ~
GavinR

Tôi nghĩ đó là câu trả lời thuận tiện nhất cho người dùng Linux. Cảm ơn @GavinR. chmod 777là một cơn ác mộng hoàn toàn.
Abdalla Arbab

Điều này làm việc cho tôi và chắc chắn là một lựa chọn tốt hơn so với chmod -777
Egnaro

Cảm ơn bạn cho một cách mới để giải quyết vấn đề! Chúng ta có cần phải làm gì đó trước / sau lệnh của bạn để đảo ngược chmod 777hậu quả không?
Aleksandar

41

Đối với tất cả mọi người sử dụng Laravel 5, Homestead và Mac hãy thử điều này:

mkdir storage/framework/views

Điều này cũng làm việc với thực hiện một máy chủ mới với Laravel Forge với Laravel 5.2.7
winkster

2
Điều này đã làm điều đó cho tôi. Có vẻ như bootstrap/cache/compiled.phpđã cố gắng ghi vào thư mục này, nhưng nó không tồn tại và cuối cùng đã gây ra lỗi cấp phép. Cảm ơn bạn.
Matt K

1
Bằng cách nào đó điều này làm việc cho tôi. Tôi đang sử dụng laravel 5.1 btw
Yohanes Gultom

Điều này đã làm điều đó cho tôi, cảm ơn. Tôi đã loại bỏ toàn bộ thư mục lưu trữ của tôi với suy nghĩ rằng điều này sẽ được tạo ra bởi laravel một lần nữa, đoán không.
miễn phí

33

một số lần SELINUX gây ra vấn đề này; bạn có thể vô hiệu hóa selinux bằng lệnh này.

sudo setenforce 0

wow, tôi thực sự đã làm được mẹo và hoạt động, ai đó có thể giải thích cho tôi tại sao nó hoạt động không? Selinux là gì?
không xác định

vâng điều này thực sự hiệu quả! xin vui lòng giúp chúng tôi hiểu về điều này trên SELINUX? tôi đang sử dụng fedora 24 btw
loki9

1
Cảm ơn, cảm ơn bạn rất nhiều. Tôi tìm kiếm trên mạng và mọi người nói với tôi kiểm tra sự cho phép, kiểm tra người dùng và cứ thế ...
Ali ZahediGol

3
Điều này về cơ bản giống như tắt toàn bộ tường lửa vì nó đang chặn một cổng bạn cần mở.
Te JoE

Tôi chưa bao giờ nghe nói về điều này. "Linux được tăng cường bảo mật (SELinux) là một mô-đun bảo mật hạt nhân Linux cung cấp một cơ chế hỗ trợ các chính sách bảo mật kiểm soát truy cập." Tôi nghi ngờ đó là một ý tưởng tốt để tắt nó. Và tôi cá rằng những người upvoters đang mù quáng sử dụng lệnh này mà không hiểu hậu quả đầy đủ.
Ryan

18

Vấn đề được giải quyết

php artisan cache:clear
sudo chmod -R 777 vendor storage

Điều này cho phép quyền ghi vào ứng dụng, khung, nhật ký Hy vọng điều này sẽ giúp


12
không bao giờ 777 ... trong dev hoặc prod vì nó sẽ tạo ảo giác về những thứ hoạt động trong dev nhưng chúng sẽ phá vỡ prod trừ khi 777 cũng không bao giờ là một ý tưởng hay
Kyle Burkett

wooha bạn rock ... nhà cung cấp là người mà tôi đã mất tích
lu1s

vâng, đưa bất cứ thứ gì lên web 777 phải đối mặt với công chúng là một ý tưởng tồi
imabug

17

KHÔNG BAO GIỜ CHO GIẤY PHÉP NÓI 777!

đi đến thư mục của dự án laravel trên thiết bị đầu cuối của bạn và viết:

sudo chown -R your-user:www-data /path/to/your/laravel/project/
sudo find /same/path/ -type f -exec chmod 664 {} \;
sudo find /same/path/ -type d -exec chmod 775 {} \;
sudo chgrp -R www-data storage bootstrap/cache
sudo chmod -R ug+rwx storage bootstrap/cache

Bằng cách này, bạn sẽ biến người dùng của mình thành chủ sở hữu và cung cấp các đặc quyền:
1 Thực thi, 2 Viết, 4 Đọc
1 + 2 + 4 = 7 có nghĩa là (rwx)
2 + 4 = 6 có nghĩa là (rw)
cuối cùng, để truy cập lưu trữ, ug + rwx có nghĩa là bạn đang cung cấp cho người dùng và nhóm 7


1
tôi không biết tại sao rất nhiều nhà phát triển thích sử dụng 777 ... bằng cách nào đó họ không quan tâm đến hệ thống của họ ..
ZeroOne

15

Đối với người dùng mơ hồ, giải pháp là:

(trong vagrant) php artisan cache: xóa

(bên ngoài mơ hồ) chmod -R 777 ứng dụng / lưu trữ

(trong vagrant) nhà soạn nhạc dump-autoload

Hãy chắc chắn rằng bạn chmod trong môi trường địa phương của bạn và không bên trong mơ hồ là điều quan trọng ở đây!


6
777 không quá mở?
simo

3
Ý tôi là, cho sản xuất, chắc chắn. Nhưng đây là một môi trường dev địa phương. 777 là những gì người đăng ban đầu đang sử dụng và các câu trả lời khác.775 hoặc 755 có thể hoạt động tùy thuộc.
Brendan

12

Hãy thử lại với chmod -R 755 /var/www/html/test/app/storage. Sử dụng với sudo cho Operation not permittedtrong chmod. Sử dụng Kiểm tra quyền chủ sở hữu nếu vẫn có lỗi.


Không làm việc. Tất cả các thư mục trong ứng dụng đều có quyền drwxrwxrwx
vishnub1626

@tav bạn có thể vui lòng kiểm tra quyền của chủ sở hữu cho thư mục kiểm tra của bạn không?
Khay

Cùng drwxrwxrwx. Đã giải quyết vấn đề bằng cách sử dụng các đề xuất của @ vsmoraes (xem các bình luận)
vishnub1626

4
chmod 777 là một rủi ro bảo mật
Yogesh Kamat

9

Theo Laravel 5.4, đây là bản mới nhất khi tôi viết bài này, nếu bạn gặp bất kỳ vấn đề nào như thế này, bạn cần phải thay đổi quyền. ĐỪNG NGHE ĐẾN BẤT CỨ AI NÀO NÓI CHO BẠN THIẾT LẬP 777 CHO MỌI GIÁM ĐỐC. Nó có một vấn đề bảo mật. Thay đổi quyền của thư mục lưu trữ như thế này

sudo chmod -R 775 storage

Thay đổi quyền thư mục bootstrap như thế này

sudo chmod -R 775 bootstrap/cache

Bây giờ hãy chắc chắn rằng bạn đang thực thi cả hai lệnh từ thư mục ứng dụng của bạn. Bạn sẽ không phải đối mặt với các vấn đề trong tương lai về sự cho phép. 775 không thỏa hiệp bất kỳ bảo mật của máy tính của bạn.


7

Đề xuất quyền chính xác, nếu cho Apache,

sudo chown -R apache:apache apppath/app/storage

Sử dụng Laravel Forge: sudo chown -R forge: forge ~ / project / Storage / sudo chown -R forge: forge ~ / project / bootstrap / cache /
Flappy

6

Nếu bạn có Laravel 5 và đang tìm giải pháp lâu dài, có thể áp dụng cả php artisansử dụng dòng lệnh và máy chủ Apache sử dụng điều này:

sudo chmod -R 777 vendor storage
echo "umask 000" | sudo tee -a /etc/resolv.conf
sudo service apache2 restart

Xem giải thích chi tiết tại đây .


8
Có vẻ như đó là một ý tưởng tồi khi sử dụng 777
Randy L

um 000 000 trong độ phân giải? Những người này nhận được thông tin này ở đâu? đó là một dòng không hợp lệ trong độ phân giải. Hãy bỏ qua điều này và tất cả 777 "giải pháp" ngoài kia
higuita

kiểm tra url và không tìm thấy tùy chọn umask nào trong decv.conf linux.die.net/man/5/resolv.conf
higuita

6

ĐỐI VỚI MỌI NGƯỜI CHẠY MỘT HĐH VỚI SELINUX: Cách chính xác cho phép httpd ghi vào thư mục lưu trữ laravel là:

sudo semanage fcontext -a -t httpd_sys_rw_content_t '/path/to/www/storage(/.*)?'

Sau đó, để áp dụng các thay đổi ngay lập tức:

sudo restorecon -F -r '/path/to/www/storage'

SELinux có thể là một nỗi đau để giải quyết, nhưng nếu nó hiện diện thì tôi rất HẤP DẪN bạn học nó thay vì bỏ qua nó hoàn toàn.


vấn đề chính xác của tôi trong centos tươi 7 là tương tự. họ nói không được phép viết nhưng tất cả đều là 777 để thử nghiệm. Vì vậy, bài viết này thực sự tiết kiệm thời gian của tôi sau khi kiểm tra tổng quát.
HumaN

1
Đây là giải pháp chính xác, mặc dù tôi nghĩ rằng loại Selinux chính xác phải là httpd_sys_rw_content_t sudo semanage fcontext -a -t httpd_sys_rw_content_t '/path/to/www/storage(/.*)?'
imabug

4

Tôi đã có cùng một vấn đề và các bước dưới đây đã giúp tôi khắc phục vấn đề.

  1. Tìm hiểu người dùng apache - đã tạo tệp test.php trong thư mục công cộng có mã

<?php echo exec('whoami'); ?>

Và chạy tệp từ trình duyệt web. Nó sẽ cung cấp cho người dùng apache. Trong trường hợp của tôi, đó là người dùng ec2 vì tôi đang sử dụng aws với cronjob được cài đặt trong /etc/cron.d/. Nó có thể là người dùng khác nhau cho người khác.

  1. Chạy lệnh dưới đây trên dòng lệnh.

sudo chown -R ec2-user:<usergroup> /app-path/public

Bạn cần xác định và sử dụng đúng "người dùng" và "nhóm người dùng" tại đây.


4

Nếu bạn sử dụng Linux hoặc Mac, thậm chí bạn cũng có thể chạy ssh terminal. Bạn có thể sử dụng thiết bị đầu cuối để chạy lệnh này,

 php artisan cache:clear 
 sudo chmod -R 777 storage
 composer dump-autoload

Nếu bạn đang sử dụng windows, bạn có thể chạy bằng git bash.

 php artisan cache:clear 
 chmod -R 777 storage
 composer dump-autoload

Bạn có thể tải xuống mẫu git https://git-scm.com/doads .



2

Bất cứ khi nào tôi thay đổi app.php tôi đều nhận được quyền từ chối viết bootstrap / cache / services.json vì vậy tôi đã làm điều này để sửa nó:

chmod -R 777 bootstrap/cache/

8
chmod 777 là một rủi ro bảo mật
Yogesh Kamat

2
rm storage/logs/laravel.log  

đã giải quyết điều này cho tôi


2

Đặt quyền cho 777 chắc chắn là ý tưởng khủng khiếp!

... nhưng

Nếu bạn gặp lỗi cấp phép được kết nối với thư mục "lưu trữ", đó là những gì làm việc cho tôi:

1) Đặt "lưu trữ" và quyền của thư mục con thành 777 với

sudo chmod -R 777 storage/

2) Trong trình duyệt, hãy truy cập trang chủ laravel laravel / public / (laravel sẽ tạo các tệp lưu trữ ban đầu cần thiết)

3) Trả lại quyền 775 an toàn cho bộ lưu trữ và các thư mục con của nó

sudo chmod -R 775 storage/

2

Nếu sử dụng laradock, hãy thử chown -R laradock:www-data ./storagetrong vùng chứa không gian làm việc của bạn


1

Trong trường hợp của tôi, giải pháp là thay đổi quyền app/storage/framework/viewsapp/storage/logsthư mục.


0

Nếu bất cứ ai khác gặp phải vấn đề tương tự với lỗi quyền truy cập tệp fopen, nhưng đủ khôn ngoan để không mù quáng chmod 777 ở đây là đề xuất của tôi.

Kiểm tra lệnh bạn đang sử dụng để biết các quyền mà apache cần:

fopen('filepath/filename.pdf', 'r');

'R' có nghĩa là mở để chỉ đọc và nếu bạn không chỉnh sửa tệp, đây là thứ bạn nên đặt. Điều này có nghĩa là apache / www-data cần ít nhất quyền đọc trên tệp đó, nếu tệp được tạo thông qua laravel thì nó sẽ có quyền đọc.

Nếu vì bất kỳ lý do gì bạn phải ghi vào tệp:

fopen('filepath/filename.pdf', 'r+');

Sau đó, đảm bảo apache cũng có quyền ghi vào tệp.

http://php.net/manual/en/feft.fopen.php


0

Chỉ cần khởi động máy chủ của bạn bằng cách sử dụng artisian

php artisian serve

Sau đó truy cập dự án của bạn từ URL được chỉ định:

nhập mô tả hình ảnh ở đây


0

Tôi có vấn đề tương tự khi chạy vagrant trên mac. đã giải quyết vấn đề bằng cách thay đổi người dùng máy chủ Apache trong tệp https.conf:

# check user for php
[vagrant] ubuntu ~ $ php -i | grep USER
USER => ubuntu
$_SERVER['USER'] => ubuntu
[vagrant] ubuntu ~ $ 

Chạy apache dưới người dùng php thay vì người dùng daemon để giải quyết vấn đề truy cập tệp bằng php

# change default apache user from daemon to php user
sudo sed -i 's/User daemon/User ubuntu/g' /opt/lampp/etc/httpd.conf
sudo sed -i 's/Group daemon/Group ubuntu/g' /opt/lampp/etc/httpd.conf

bây giờ, tập tin bộ đệm được tạo bởi php có thể được đọc và chỉnh sửa bằng apache mà không hiển thị bất kỳ lỗi quyền truy cập nào.


0

Sau rất nhiều thử nghiệm và lỗi với quyền truy cập thư mục, tôi đã kết thúc với một epiphany ... không còn chỗ trống trên phân vùng của đĩa. Chỉ muốn chia sẻ để đảm bảo không ai khác đủ ngu ngốc để tiếp tục tìm kiếm giải pháp sai hướng.

Trong Linux, bạn có thể sử dụng df -hđể kiểm tra kích thước đĩa và dung lượng trống.


0

Vấn đề này thực sự gây ra bởi những người dùng khác nhau muốn write/readnộp nhưng bị từ chối gây ra quyền sở hữu khác nhau. có thể bạn là 'root' đã cài đặt laravel trước khi bạn đăng nhập vào trang web của mình với tư cách là người dùng 'laravel' trong đó 'laravel' quyền sở hữu mặc định, vì vậy đây thực sự là vấn đề thực sự ở đây. Vì vậy, khi người dùng 'laravel' muốn đọc / ghi tất cả các tệp trong đĩa làm mặc định, bị từ chối, vì tệp đó có quyền sở hữu bởi 'root'.

Để giải quyết vấn đề này, bạn có thể làm theo như sau:

sudo chown -hR your-user-name /root /nameforlder

hoặc trong trường hợp của tôi

sudo chown -hR igmcoid /root /sublaravel

Chú thích:

  1. root như tên sở hữu đầu tiên đã cài đặt trước
  2. your-user-name là quyền sở hữu mặc định người thực sự viết / đọc trong trang web.
  3. namefolder như thư mục tên mà bạn muốn thay đổi quyền sở hữu.

0

Tôi đã có lỗi tương tự trong dự án của mình ...
Nhưng phát hiện ra rằng tôi đã quên đưa enctypevào mẫu của mình.

<form method="#" action="#" enctype="multipart/form-data">

Hy vọng nó sẽ giúp được đâu đó ...


0

Khi làm việc trên Windows 10 với Laragon và Laravel 4, đối với tôi, dường như không có cách nào để thay đổi quyền theo cách thủ công, kể từ khi thực thi chmod -commands trong thiết bị đầu cuối được xây dựng trong Laragon không có hiệu lực.

Tuy nhiên, trong thiết bị đầu cuối này có thể đi đến thư mục lưu trữ và thêm thủ công các thư mục mong muốn như thế này:

cd app/storage
mkdir cache
mkdir meta
mkdir views
mkdir sessions

Phần mềm cdtrong thiết bị đầu cuối đưa bạn đến thư mục (bạn có thể cần điều chỉnh đường dẫn này cho phù hợp với cấu trúc tệp của mình). Cácmkdir -Command sẽ tạo thư mục với tên được đặt.

Tôi không có cơ hội thử nghiệm phương pháp này trong Laravel 5, nhưng tôi hy vọng rằng một cách tiếp cận tương tự sẽ có hiệu quả.

Tất nhiên có thể có một cách tốt hơn, nhưng ít nhất đây là một cách giải quyết hợp lý cho tình huống của tôi (sửa lỗi file_put_contents(/var/www/html/laravel/app/storage/meta/services.json): failed to open stream:).


-1
  1. Đầu tiên, xóa thư mục lưu trữ sau đó lại tạo thư mục lưu trữ.
  2. Bên trong thư mục lưu trữ tạo một tên thư mục mới làm khung.
  3. Bên trong thư mục khung tạo ba tên thư mục là bộ đệm, phiên và dạng xem.

Tôi đã giải quyết vấn đề của mình bằng cách làm điều này.


-4

Tôi đã cố gắng cấp 777quyền truy cập vào thư mục lưu trữ và nó có tác dụng với tôi

1) đi đến thư mục gốc laravel của bạn, ( /var/www/htmlđối với tôi) và chạy lệnh sau

chmod 777 -R storage

2
Không đặt quyền thành 777 vì điều này làm cho thư mục hiển thị và có thể chỉnh sửa cho mọi người có thể xem thư mục. Điều này không được khuyến khích!
CodeNinja
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.