Cài đặt Magento: Bắt lỗi nghiêm trọng


7

Tôi đang đối mặt với một vấn đề trong khi cố gắng cài đặt magento. Tôi nhận được các lỗi sau. Xin vui lòng bất cứ ai có thể giúp tôi ...!

Hệ điều hành: Ubuntu 16.0.4
apache: 2.4.18
php: 7.0.8
mariaDB: 10.1.16

Fatal error: Uncaught Magento\Framework\Exception\FileSystemException: The file "/opt/lampp/htdocs/magento/var/.regenerate" cannot be deleted Warning!unlink(/opt/lampp/htdocs/magento/var/.regenerate): Permission denied in /opt/lampp/htdocs/magento/vendor/magento/framework/Filesystem/Driver/File.php:382 Stack trace: #0 /opt/lampp/htdocs/magento/vendor/magento/framework/Filesystem/Directory/Write.php(173): Magento\Framework\Filesystem\Driver\File->deleteFile('/opt/lampp/htdo...')
#1 /opt/lampp/htdocs/magento/vendor/magento/framework/Code/GeneratedFiles.php(98): Magento\Framework\Filesystem\Directory\Write->delete('/var/.regenerat...')
#2 /opt/lampp/htdocs/magento/vendor/magento/framework/App/ObjectManagerFactory.php(114): Magento\Framework\Code\GeneratedFiles->cleanGeneratedFiles() #3 /opt/lampp/htdocs/magento/vendor/magento/framework/App/Bootstrap.php(385): Magento\Framework\App\ObjectManagerFactory->create(Array) #4 /opt/lampp/htdocs/magento/vendor/magento/framework/App/Bootstrap.php(362): Magento\Framework\App\Bootstrap- in /opt/lampp/htdocs/magento/vendor/magento/framework/Filesystem/Driver/File.php on line 382


Tôi cũng đang phải đối mặt với cùng một vấn đề. Làm ơn giúp tôi.
Mousam Roy

Câu trả lời:


12

varThư mục của bạn không có quyền.

Tôi khuyên bạn nên làm theo tài liệu chính thức để đặt quyền phù hợp trên phiên bản Magento của bạn: http://devdocs.magento.com/guides/v2.0/install-gde/prereq/file-system-perms.html

cd <your Magento install dir>
find var vendor pub/static pub/media app/etc -type f -exec chmod u+w {} \;
find var vendor pub/static pub/media app/etc -type d -exec chmod u+w {} \;
chmod u+x bin/magento

@ venky07 điều đó khá nhiều vì người dùng máy chủ của bạn khác với quyền sở hữu các tệp của bạn Tôi nghĩ
Raphael tại Digital Pianism

Vậy thì làm sao tôi có thể giải quyết cái đó ...!
venky07


1
nó không hoạt động
Alston

4

Bạn có thể dễ dàng giải quyết điều này bằng cách truy cập vào tài liệu gốc thông qua thiết bị đầu cuối và cung cấp quyền cho thư mục var như thế này:

chmod -R 777 var

Sau đó, vui lòng thử làm mới và chế độ cài đặt sẽ được hiển thị chắc chắn.


1
Điều này có an toàn không?
Brent

không có probm, magento 2 yêu cầu nó.
Shyam Krishna Saletumar

4
Đối với bất kỳ ai đến đây, xin vui lòng không chạy lệnh này, đặc biệt là trên môi trường sản xuất. Câu trả lời được chấp nhận hoạt động tốt.
Dave

Người hỏi không đề cập đến việc nó trong prod hay dev.
Shyam Krishna Saletumar

cũng vui lòng xem: devdocs.magento.com/guides/v2.0/config-guide/prod/NH xem tất cả các thư mục cần có thể ghi trong chế độ dev. hi vọng điêu nay co ich.
Shyam Krishna Saletumar

1

Nếu ai đó đang đối mặt với các vấn đề cấp phép tương tự (nghĩa là /var/.regenerateKhông thể xóa, trong nhật ký httpd)

Và không có công trình nào dưới đây:

  1. chmod -R 777 var
  2. người dùng máy chủ phù hợp với quyền sở hữu các tập tin của bạn
  3. open_basedir bị vô hiệu hóa hoặc được đặt chính xác trong php.ini

Hãy thử kiểm tra xem bản cài đặt Centos 7 của bạn đã cài đặt SELinux chưa: sestatus

Nếu có, vô hiệu hóa nó: setenforce 0


Mặc dù không lý tưởng, setenforce 0nhưng đã lừa tôi. Tôi sẽ tránh xa cài đặt 777 trên bất kỳ tập tin.
vahissan

hoàn toàn đồng ý. nó có thể hữu ích trong quá trình thiết lập ban đầu và nếu với 777, bạn vẫn gặp lỗi về quyền hơn là điều chắc chắn khác. Ngoài ra, setenforce 0tạm thời vô hiệu hóa SELinux. Bạn cần chỉnh sửa /etc/selinux/configđể vô hiệu hóa vĩnh viễn hoặc đặt chính sách phù hợp.
Mike

0

Tôi phải đối mặt với vấn đề gần như tương tự. Thay vì tìm kiếm ngẫu nhiên trên internet một cách ngẫu nhiên, hãy truy cập tệp nhật ký của apache2, trong trường hợp của tôi, tệp nhật ký của tôi nằm trên

/ var / apache2 / log

sau đó bạn sẽ tìm thấy vấn đề chính xác ở đó.

Đối với trường hợp của tôi, tôi tìm thấy lỗi sau.

[Thứ bảy ngày 10 tháng 11 15: 48: 36,673289 2018] [: error] [pid 2153] [client 127.0.0.1:40744] PHP Lỗi nghiêm trọng: Uncaught RuntimeException: Không thể tạo thư mục / var / www / html / M2 / MN226 / được tạo / code / Magento / Framework / App / ResourceConnection /. \ nClass Magento \ Framework \ App \ ResourceConnection \ Proxy tạo lỗi: Lớp được yêu cầu không tạo đúng, vì quyền thư mục 'được tạo' chỉ đọc. Nếu - sau khi chạy thiết lập 'bin / magento: di: biên dịch' CLI khi quyền thư mục 'được tạo' được đặt thành ghi - lớp được yêu cầu không tạo đúng, thì bạn phải thêm đối tượng lớp được tạo vào chữ ký của phương pháp xây dựng liên quan, chỉ. trong /var/www/html/M2/MN226/vendor/magento/framework/Code/Generator.php:135\nStack theo dõi:http: // localhost / M2 /

thư mục cài đặt của tôi là var / www / html / M2 / MN226 /

Sau đó, trên thư mục đó bạn có thể tìm thấy một cuộc gọi thư mục được tạo.

kiểm tra sự cho phép của điều đó nếu không được đưa ra 777

sau đó cho 777

sau đó mọi thứ hoạt động chính xác

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

Lưu ý: tôi chỉ chia sẻ kinh nghiệm của mình, nó có thể giúp bạn hoặc không, vì mọi người có thể không giống nhau. Nếu nó hoạt động thì không sao, Nếu không thì bỏ qua nó. Tôi trắng nó trên:

https://forum.equaltrue.com/topics/showing-blank-page-fter-installing-magento-2-2-6/


0

Giải pháp từ Raphael tại Digital Pianism không giải quyết được cho tôi, tôi đã phải thực hiện lệnh này là ba lệnh được nối với nhau:

find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} + && find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} + && chmod g+x bin/magento
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.