-
Notifications
You must be signed in to change notification settings - Fork 9.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Web Setup Wizard 500 error when session storage is configured to use memcache #9633
Comments
I can verify that the same thing happens (500 error on using the web wizard) with PHP 7.0.18 on Centos 7, and the latest install of Magento (from 2 days ago) in mod_php mode. |
I'm having the same issue as well on 2.1.7. |
Hello and thank you for your submission! Internal ticket MAGETWO-70986 was created to address this issue. |
@dotsoa, thank you for your report. |
Working on this for #squashtoberfest ! Though so far it seems that the setup wizard just never sets the session.save_handler value at all and doesn't include memcache as an option anywhere. So what happens is it defaults to files but still uses the path and the tcp://... isn't a file. |
Hi @sylink could you please accept the invitation to join magento2 repository on the GitHub? |
No solution at the moment, we see the admin/setup and the frontend both set the save_handler differently and not explicitly? So a simple fix if you force the init_set but the code side appears to be a lot more complex than expected. |
The issue is somewhere in the config where it gets the IniOptions in SessionManager.php , line 579
A manual ini_set for memcache before the foreach allows setup to work with memcache, as in other locations, but only 7 values are set in that loop and none are session.save_handler This leads me to Session/Config.php which gets these options but has no code to get the handler, so I think it needs added there ? All in vendor/magento/framework/Session |
Add this to constructor for vendor/magento/framework/Session/Config.php
It looks like in that file this constant is set - const PARAM_SESSION_SAVE_METHOD = 'session/save'; Then never utilized at all, so I added the block to grab the value from the deployment config. If that is blank it should default to files as expected. |
checkout page is very slow. |
@dotsoa |
@sivajik34 This is a separate problem which is unrelated to this issue. Please see #12742 |
Hi @dotsoa. Thank you for your report.
The fix will be available with the upcoming patch release. |
Preconditions
Steps to reproduce
Expected result
Actual result
[15-May-2017 07:22:26 UTC] PHP Fatal error: Uncaught Exception: Warning: SessionHandler::read(): open(unix:///var/tmp/memcached.magetwot.216.mage2test.com_sessions.sock?persistent=1&weight=2&timeout=10&retry_interval=0/sess_cvud2fpo9dbmofdhld3fap3682, O_RDWR) failed: No such file or directory (2) in /chroot/home/magetwot/216.mage2test.com/html/vendor/magento/framework/Session/SaveHandler/Native.php on line 22 in /chroot/home/magetwot/216.mage2test.com/html/vendor/magento/framework/App/ErrorHandler.php:61 Stack trace: #0 [internal function]: Magento\Framework\App\ErrorHandler->handler(2, 'SessionHandler:...', '/chroot/home/ma...', 22, Array) #1 /chroot/home/magetwot/216.mage2test.com/html/vendor/magento/framework/Session/SaveHandler/Native.php(22): SessionHandler->read('cvud2fpo9dbmofd...') #2 /chroot/home/magetwot/216.mage2test.com/html/vendor/magento/framework/Session/SaveHandler.php(93): Magento\Framework\Session\SaveHandler\Native->read('cvud2fpo9dbmofd...') #3 [internal function]: Magento\Framework\Session\SaveHandler->read('cvud2fpo9dbmofd...') #4 in /chroot/home/magetwot/216.mage2test.com/html/vendor/magento/framework/App/ErrorHandler.php on line 61
[15-May-2017 07:22:26 UTC] PHP Fatal error: Uncaught Exception: Warning: SessionHandler::write(): open(unix:///var/tmp/memcached.magetwot.216.mage2test.com_sessions.sock?persistent=1&weight=2&timeout=10&retry_interval=0/sess_cvud2fpo9dbmofdhld3fap3682, O_RDWR) failed: No such file or directory (2) in /chroot/home/magetwot/216.mage2test.com/html/vendor/magento/framework/Session/SaveHandler.php on line 105 in /chroot/home/magetwot/216.mage2test.com/html/vendor/magento/framework/App/ErrorHandler.php:61 Stack trace: #0 [internal function]: Magento\Framework\App\ErrorHandler->handler(2, 'SessionHandler:...', '/chroot/home/ma...', 105, Array) #1 /chroot/home/magetwot/216.mage2test.com/html/vendor/magento/framework/Session/SaveHandler.php(105): SessionHandler->write('cvud2fpo9dbmofd...', '') #2 [internal function]: Magento\Framework\Session\SaveHandler->write('cvud2fpo9dbmofd...', '') #3 {main} thrown in /chroot/home/magetwot/216.mage2test.com/html/vendor/magento/framework/App/ErrorHandler.php on line 61
As the title states. When the session storage method is set to memcache an 500 error happens when navigating to the Web Setup Wizard. With the session method set to files it loads as intended. Based off the error it seems like it's still trying to write/read the session as a file even though magento is configured to use the memcache socket.
I've found as a workaround if i specifically set
php_value[session.save_handler] = memcache
in the PHP-FPM pool configuration file for this pool then the Setup Wizard page loads successfully. In the past this change has not been needed. Simply configuring memcache in env.php was enough.The text was updated successfully, but these errors were encountered: