Magento – Magento 2: “There has been an error processing your request”

magento2nginxphp-7

I installed Magento 2.1 on my Centos 7 server, running Nginx 1.10.1, MariaDB 10.1 and PHP7 with SSL. In theory, everything installed just fine and after the installation I got no errors what-so-ever, and "systemctl status nginx" and "systemctl status php-fpm" both show that they should be working fine. But when I try to access my site in web browser, I get following:

"There has been an error processing your request

Exception printing is disabled by default for security reasons.

Error log record number: 886472238215"

So I went to "usr/share/nginx/magento2/var/report" and opened that log number 886472238215:

a:4:{i:0;s:226:"Warning: SessionHandler::read(): open(/var/lib/php/session/sess_au56sith2u5dloibaakd9c3q06, O_RDWR) failed: Permission denied (13) in /usr/share/nginx/magento2/vendor/magento/framework/Session/SaveHandler/Native.php on line 22";i:1;s:6680:"#0 [internal function]: Magento\Framework\App\ErrorHandler->handler(2, 'SessionHandler:...', '/usr/share/ngin...', 22, Array)
#1 /usr/share/nginx/magento2/vendor/magento/framework/Session/SaveHandler/Native.php(22): SessionHandler->read('au56sith2u5dloi...')
#2 /usr/share/nginx/magento2/vendor/magento/framework/Session/SaveHandler.php(93): Magento\Framework\Session\SaveHandler\Native->read('au56sith2u5dloi...')
#3 [internal function]: Magento\Framework\Session\SaveHandler->read('au56sith2u5dloi...')
#4 /usr/share/nginx/magento2/vendor/magento/framework/Session/SessionManager.php(189): session_start()
#5 /usr/share/nginx/magento2/vendor/magento/framework/Interception/Interceptor.php(146): Magento\Framework\Session\SessionManager->start()
#6 /usr/share/nginx/magento2/var/generation/Magento/Framework/Session/Generic/Interceptor.php(52): Magento\Framework\Session\Generic\Interceptor->___callPlugins('start', Array, Array)
#7 /usr/share/nginx/magento2/vendor/magento/framework/Session/SessionManager.php(130): Magento\Framework\Session\Generic\Interceptor->start()
#8 /usr/share/nginx/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 /usr/share/nginx/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 /usr/share/nginx/magento2/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php(89): Magento\Framework\ObjectManager\Factory\AbstractFactory->createObject('Magento\\Framewo...', Array)
#11 /usr/share/nginx/magento2/vendor/magento/framework/ObjectManager/ObjectManager.php(71): Magento\Framework\ObjectManager\Factory\Dynamic\Developer->create('Magento\\Framewo...')
#12 /usr/share/nginx/magento2/var/generation/Magento/Framework/Session/Generic/Proxy.php(84): Magento\Framework\ObjectManager\ObjectManager->get('Magento\\Framewo...')
#13 /usr/share/nginx/magento2/var/generation/Magento/Framework/Session/Generic/Proxy.php(207): Magento\Framework\Session\Generic\Proxy->_getSubject()
#14 /usr/share/nginx/magento2/vendor/magento/framework/Url.php(942): Magento\Framework\Session\Generic\Proxy->getSessionIdForHost('https://www......')
#15 /usr/share/nginx/magento2/vendor/magento/framework/Url.php(1096): Magento\Framework\Url->_prepareSessionUrl('https://www......')
#16 /usr/share/nginx/magento2/vendor/magento/module-store/App/FrontController/Plugin/RequestPreprocessor.php(78): Magento\Framework\Url->getRedirectUrl('https://www.......')
#17 /usr/share/nginx/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))
#18 /usr/share/nginx/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')
#19 /usr/share/nginx/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))
#20 /usr/share/nginx/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))
#21 /usr/share/nginx/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...')
#22 /usr/share/nginx/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))
#23 /usr/share/nginx/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))
#24 /usr/share/nginx/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...')
#25 /usr/share/nginx/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))
#26 /usr/share/nginx/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))
#27 /usr/share/nginx/magento2/var/generation/Magento/Framework/App/FrontController/Interceptor.php(26): Magento\Framework\App\FrontController\Interceptor->___callPlugins('dispatch', Array, Array)
#28 /usr/share/nginx/magento2/vendor/magento/framework/App/Http.php(135): Magento\Framework\App\FrontController\Interceptor->dispatch(Object(Magento\Framework\App\Request\Http))
#29 /usr/share/nginx/magento2/vendor/magento/framework/App/Bootstrap.php(258): Magento\Framework\App\Http->launch()
#30 /usr/share/nginx/magento2/pub/index.php(37): Magento\Framework\App\Bootstrap->run(Object(Magento\Framework\App\Http))
#31 {main}";s:3:"url";s:1:"/";s:11:"script_name";s:10:"/index.php";}

And here is the content of /usr/share/nginx/magento2/vendor/magento/framework/Session/SaveHandler/Native.php

<?php
/**
 * Copyright © 2016 Magento. All rights reserved.
 * See COPYING.txt for license details.
 */
namespace Magento\Framework\Session\SaveHandler;

/**
 * Php native session save handler
 */
class Native extends \SessionHandler
{
    /**
     * Workaround for php7 session_regenerate_id error
     * @see https://bugs.php.net/bug.php?id=71187
     *
     * @param string $sessionId
     * @return string
     */
    public function read($sessionId)
    {
        return (string)parent::read($sessionId);
    }
}

Can anyone tell me what the problem might be?

Best Answer

I have faced same issue On my shared server.

So what I did is open my env.php file and

find

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

and replace with (I created session folder in var directory of my magento)

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