Magento -site không mở sau khi cài đặt CLI


7

Tôi đang cố gắng cài đặt Magento 2 trên ngăn xếp Centos7 LEMP của mình, nhưng sau khi cài đặt CLI thành công và cài đặt Magento ở chế độ Nhà phát triển, tôi nhận được thông báo sau khi thử mở trang:

1 exception(s):
Exception #0 (Exception): Warning: SessionHandler::read(): open(/var/lib/php/session/sess_c1qi0gaoj25njvfbt92lee4ao6, O_RDWR) failed: No such file or directory (2) in /var/www/magento2/vendor/magento/framework/Session/SaveHandler/Native.php on line 22

Exception #0 (Exception): Warning: SessionHandler::read(): open(/var/lib/php/session/sess_c1qi0gaoj25njvfbt92lee4ao6, O_RDWR) failed: No such file or directory (2) in /var/www/magento2/vendor/magento/framework/Session/SaveHandler/Native.php on line 22
#0 [internal function]: Magento\Framework\App\ErrorHandler->handler(2, 'SessionHandler:...', '/var/www/magent...', 22, Array)
#1 /var/www/magento2/vendor/magento/framework/Session/SaveHandler/Native.php(22): SessionHandler->read('c1qi0gaoj25njvf...')
#2 /var/www/magento2/vendor/magento/framework/Session/SaveHandler.php(93): Magento\Framework\Session\SaveHandler\Native->read('c1qi0gaoj25njvf...')
#3 [internal function]: Magento\Framework\Session\SaveHandler->read('c1qi0gaoj25njvf...')
#4 /var/www/magento2/vendor/magento/framework/Session/SessionManager.php(189): session_start()
#5 /var/www/magento2/vendor/magento/framework/Interception/Interceptor.php(146): Magento\Framework\Session\SessionManager->start()
#6 /var/www/magento2/var/generation/Magento/Framework/Session/Generic/Interceptor.php(52): Magento\Framework\Session\Generic\Interceptor->___callPlugins('start', Array, Array)
#7 /var/www/magento2/vendor/magento/framework/Session/SessionManager.php(130): Magento\Framework\Session\Generic\Interceptor->start()
#8 /var/www/magento2/var/generation/Magento/Framework/Session/Generic/Interceptor.php(14): Magento\Framework\Session\SessionManager->__construct(Object(Magento\Framework\App\Request\Http), Object(Magento\Framework\Session\SidResolver\Proxy), Object(Magento\Framework\Session\Config), Object(Magento\Framework\Session\SaveHandler), Object(Magento\Framework\Session\Validator), Object(Magento\Framework\Session\Storage), Object(Magento\Framework\Stdlib\Cookie\PhpCookieManager), Object(Magento\Framework\Stdlib\Cookie\CookieMetadataFactory), Object(Magento\Framework\App\State))
#9 /var/www/magento2/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php(93): Magento\Framework\Session\Generic\Interceptor->__construct(Object(Magento\Framework\App\Request\Http), Object(Magento\Framework\Session\SidResolver\Proxy), Object(Magento\Framework\Session\Config), Object(Magento\Framework\Session\SaveHandler), Object(Magento\Framework\Session\Validator), Object(Magento\Framework\Session\Storage), Object(Magento\Framework\Stdlib\Cookie\PhpCookieManager), Object(Magento\Framework\Stdlib\Cookie\CookieMetadataFactory), Object(Magento\Framework\App\State))
#10 /var/www/magento2/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php(89): Magento\Framework\ObjectManager\Factory\AbstractFactory->createObject('Magento\\Framewo...', Array)
#11 /var/www/magento2/vendor/magento/framework/ObjectManager/ObjectManager.php(71): Magento\Framework\ObjectManager\Factory\Dynamic\Developer->create('Magento\\Framewo...')
#12 /var/www/magento2/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php(126): Magento\Framework\ObjectManager\ObjectManager->get('Magento\\Framewo...')
#13 /var/www/magento2/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php(53): Magento\Framework\ObjectManager\Factory\AbstractFactory->resolveArgument(Array, 'Magento\\Framewo...', NULL, 'session', 'Magento\\Store\\A...')
#14 /var/www/magento2/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php(82): Magento\Framework\ObjectManager\Factory\Dynamic\Developer->_resolveArguments('Magento\\Store\\A...', Array, Array)
#15 /var/www/magento2/vendor/magento/framework/ObjectManager/ObjectManager.php(71): Magento\Framework\ObjectManager\Factory\Dynamic\Developer->create('Magento\\Store\\A...')
#16 /var/www/magento2/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php(126): Magento\Framework\ObjectManager\ObjectManager->get('Magento\\Store\\A...')
#17 /var/www/magento2/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php(53): Magento\Framework\ObjectManager\Factory\AbstractFactory->resolveArgument(Array, 'Magento\\Framewo...', NULL, 'redirect', 'Magento\\Framewo...')
#18 /var/www/magento2/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php(82): Magento\Framework\ObjectManager\Factory\Dynamic\Developer->_resolveArguments('Magento\\Framewo...', Array, Array)
#19 /var/www/magento2/vendor/magento/framework/ObjectManager/ObjectManager.php(71): Magento\Framework\ObjectManager\Factory\Dynamic\Developer->create('Magento\\Framewo...')
#20 /var/www/magento2/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php(126): Magento\Framework\ObjectManager\ObjectManager->get('Magento\\Framewo...')
#21 /var/www/magento2/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php(53): Magento\Framework\ObjectManager\Factory\AbstractFactory->resolveArgument(Array, 'Magento\\Framewo...', NULL, 'context', 'Magento\\Cms\\Con...')
#22 /var/www/magento2/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php(82): Magento\Framework\ObjectManager\Factory\Dynamic\Developer->_resolveArguments('Magento\\Cms\\Con...', Array, Array)
#23 /var/www/magento2/vendor/magento/framework/ObjectManager/ObjectManager.php(57): Magento\Framework\ObjectManager\Factory\Dynamic\Developer->create('Magento\\Cms\\Con...', Array)
#24 /var/www/magento2/vendor/magento/framework/App/ActionFactory.php(40): Magento\Framework\ObjectManager\ObjectManager->create('Magento\\Cms\\Con...')
#25 /var/www/magento2/vendor/magento/framework/App/Router/Base.php(300): Magento\Framework\App\ActionFactory->create('Magento\\Cms\\Con...')
#26 /var/www/magento2/vendor/magento/framework/App/Router/Base.php(161): Magento\Framework\App\Router\Base->matchAction(Object(Magento\Framework\App\Request\Http), Array)
#27 /var/www/magento2/vendor/magento/framework/App/FrontController.php(50): Magento\Framework\App\Router\Base->match(Object(Magento\Framework\App\Request\Http))
#28 /var/www/magento2/vendor/magento/framework/Interception/Interceptor.php(74): Magento\Framework\App\FrontController->dispatch(Object(Magento\Framework\App\Request\Http))
#29 /var/www/magento2/vendor/magento/framework/Interception/Chain/Chain.php(70): Magento\Framework\App\FrontController\Interceptor->___callParent('dispatch', Array)
#30 /var/www/magento2/vendor/magento/framework/Interception/Chain/Chain.php(63): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\\Framewo...', 'dispatch', Object(Magento\Framework\App\FrontController\Interceptor), Array, 'requestPreproce...')
#31 /var/www/magento2/vendor/magento/module-store/App/FrontController/Plugin/RequestPreprocessor.php(94): Magento\Framework\Interception\Chain\Chain->Magento\Framework\Interception\Chain\{closure}(Object(Magento\Framework\App\Request\Http))
#32 /var/www/magento2/vendor/magento/framework/Interception/Chain/Chain.php(67): Magento\Store\App\FrontController\Plugin\RequestPreprocessor->aroundDispatch(Object(Magento\Framework\App\FrontController\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#33 /var/www/magento2/vendor/magento/framework/Interception/Chain/Chain.php(63): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\\Framewo...', 'dispatch', Object(Magento\Framework\App\FrontController\Interceptor), Array, 'install')
#34 /var/www/magento2/vendor/magento/framework/Module/Plugin/DbStatusValidator.php(69): Magento\Framework\Interception\Chain\Chain->Magento\Framework\Interception\Chain\{closure}(Object(Magento\Framework\App\Request\Http))
#35 /var/www/magento2/vendor/magento/framework/Interception/Chain/Chain.php(67): Magento\Framework\Module\Plugin\DbStatusValidator->aroundDispatch(Object(Magento\Framework\App\FrontController\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#36 /var/www/magento2/vendor/magento/framework/Interception/Chain/Chain.php(63): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\\Framewo...', 'dispatch', Object(Magento\Framework\App\FrontController\Interceptor), Array, 'front-controlle...')
#37 /var/www/magento2/vendor/magento/module-page-cache/Model/App/FrontController/VarnishPlugin.php(55): Magento\Framework\Interception\Chain\Chain->Magento\Framework\Interception\Chain\{closure}(Object(Magento\Framework\App\Request\Http))
#38 /var/www/magento2/vendor/magento/framework/Interception/Chain/Chain.php(67): Magento\PageCache\Model\App\FrontController\VarnishPlugin->aroundDispatch(Object(Magento\Framework\App\FrontController\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#39 /var/www/magento2/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\\Framewo...', 'dispatch', Object(Magento\Framework\App\FrontController\Interceptor), Array, 'front-controlle...')
#40 /var/www/magento2/vendor/magento/module-page-cache/Model/App/FrontController/BuiltinPlugin.php(73): Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Framework\App\Request\Http))
#41 /var/www/magento2/vendor/magento/framework/Interception/Interceptor.php(142): Magento\PageCache\Model\App\FrontController\BuiltinPlugin->aroundDispatch(Object(Magento\Framework\App\FrontController\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#42 /var/www/magento2/var/generation/Magento/Framework/App/FrontController/Interceptor.php(26): Magento\Framework\App\FrontController\Interceptor->___callPlugins('dispatch', Array, Array)
#43 /var/www/magento2/vendor/magento/framework/App/Http.php(135): Magento\Framework\App\FrontController\Interceptor->dispatch(Object(Magento\Framework\App\Request\Http))
#44 /var/www/magento2/vendor/magento/framework/App/Bootstrap.php(258): Magento\Framework\App\Http->launch()
#45 /var/www/magento2/pub/index.php(37): Magento\Framework\App\Bootstrap->run(Object(Magento\Framework\App\Http))
#46 {main}

Vì vậy, tôi đi xem các thư mục đó và nhận thấy rằng / var / www / magento2 / var / lib / php / session "-path không tồn tại, nhưng tồn tại" var / www / magento2 / var / session "ngắn hơn thay vào đó, và nó có "sess_" -file bên trong nó.

Tôi có nên thay đổi một số cấu hình -file để trỏ vào thư mục đó không? Và nếu tôi ở đâu, tập tin đó sẽ ở đâu? Hay nó là một cái gì đó khác hoàn toàn?

EDIT: Người dùng cục bộ của tôi đã được thêm vào nhóm máy chủ web và các quyền được đặt như sau:

chown -R myuser:webservergroup /var/www/magento2/
chmod -R 755 /var/www/magento2/
chmod -R 777 /var/www/magento2/var/
chmod -R 777 /var/www/magento2/pub/

PHP.ini của tôi hiện được đặt như sau (save_path đã được nhận xét):

session.save_handler = files
session.save_path = "var/www/magento2/var/session"

PHP.env không có chỉ thị 'save_path' nên tôi đã thêm nó:

  'session' =>
     array (
    'save' => 'files',
    'save_path' => '/var/session',
   ),

Nhưng vẫn có vấn đề tương tự.


1
Tôi nghĩ vấn đề của bạn liên quan đến sự cho phép. Xin vui lòng, kiểm tra lại sự cho phép của người dùng.
Khoa TruongDinh

1
Cũng xem nếu bạn đang thiết lập một thư mục phiên php.ini. Điều đó ghi đè mặc định của Magento var/sessionvà có thể gây ra sự cố này. Xem này .
Steve Johnson

@KhoaTruongDinh Tôi đã thêm một số thông tin về quyền của tôi và php.ini và php.env -files.
MyrkkyMies

Bạn đã thử cách @SteveJohnson đề cập?
Khoa TruongDinh

1
@KhoaTruongDinh Được rồi, tôi đã quản lý để nó hoạt động bằng cách chỉnh sửa 'save_path' -directive trong php.env một lần nữa. Tôi đã phải sử dụng đường dẫn đầy đủ '/ var / www / magento2 / var / session', để nó hoạt động.
MyrkkyMies

Câu trả lời:


8

Vì vậy, điều này đã giải quyết điều này cho tôi, cảm ơn bạn @Steve Johnson.

Đã chỉnh sửa tệp php.ini:

session.save_handler = files
;session.save_path = "/tmp"

->

session.save_handler = files
session.save_path = "var/www/magento2/var/session"

Đã chỉnh sửa tệp php.env:

'session' =>
     array (
    'save' => 'files',
   ),

->

'session' =>
     array (
    'save' => 'files',
    'save_path' => '/var/www/magento2/var/session',
   ),

4

Cảm ơn bạn rất nhiều điều này cũng đã giúp tôi khắc phục vấn đề của mình ...

Tôi đã sử dụng Trình cài đặt mềm miễn phí qua cPanel để cài đặt Magento v2.2.6. Nó cho biết quá trình cài đặt thành công nhưng khi thử truy cập Magento, tôi đã gặp lỗi "Đã xảy ra lỗi khi xử lý yêu cầu của bạn".

Tôi tìm thấy các thông báo lỗi chi tiết trong ./var/reportsthư mục và chúng trông như thế này:

Cảnh báo: SessionHandler :: read (): open (195.201.9.76:11211/sess_0622981ed0e8a3aaf857122afbd443a7, O_RDWR) không thành công: Không có tệp hoặc thư mục như vậy (2) trong //public_html trên dòng 22

Vì vậy, thư mục phiên của tôi ở một nơi hơi khác so với giải pháp trên ... Tôi đã thêm một mục save_path vào ./app/etc/env.phptệp của mình .... trong phần phiên như thế này:

'session' =>
     array (
    'save' => 'files',
    'save_path' => './vendor/magento/framework/Session'
   ),

Và sau đó nó hoạt động tốt!


Nhưng nó không hoạt động
Jaisa

Nó làm việc cho tôi :)
Đội Magento

1

chỉnh sửa tập tin /app/etc/env.php

'session' => [
    'save' => 'files',
    'save_path' => 'D:\wamp64\www\projectName\var\session' // put full directory path
],

nó hoạt động tốt


0

kiểm tra ứng dụng / etc / env.php

và xóa dòng - SESSION save_path

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.