magento / magento2

Prior to making any Submission(s), you must sign an Adobe Contributor License Agreement, available here at: https://opensource.adobe.com/cla.html. All Submissions you make to Adobe Inc. and its affiliates, assigns and subsidiaries (collectively “Adobe”) are subject to the terms of the Adobe Contributor License Agreement.
http://www.magento.com
Open Software License 3.0
11.56k stars 9.32k forks source link

Store EMail Address change generate failure and are not stored #12255

Closed JoergLindner closed 7 years ago

JoergLindner commented 7 years ago

Preconditions

  1. Version 2.2.1
  2. PHP 7.0.25
  3. MySQL Maria DB 10.1
  4. Plesk Onyx Version 17.5.3 Update #29

Steps to reproduce

  1. Install new M2.2.1 by using the zip package without data
  2. Using default Website/Store and Store view
  3. Store--> Configure--> Store EMail Adresses
  4. Changing E-Mail address

Expected result

  1. E-Mail Address should be changes to the new one

Actual result

  1. Switched back to 'use system value'
  2. Failure show up --> Something went wrong while saving this configuration: Validate class not found from basename 'Magento\Framework\Validator\EmailAddress'
JoergLindner commented 7 years ago

After debugging, we found that Magento looks in the wrong directory, for the EMailAddress.php. It looks under /opt/plesk/php/7.0/share/pear/Zend/Validate/Magento/Framework/Validator. Cause of that is the default Plesk setting (PHP) has an include_path=.:/opt/plesk/php/7.0/share/pear

There are two ways to solve that: 1.) Yust change the include_path setting to include_path=. 2.) Add to the additional configuration include_path = ".:/var/www/vhosts/{webstite}/httpdocs/{magento-directory}/vendor"

By adding .:/var/www/vhosts/{webstite}/httpdocs/{magento-directory}/vendor into the Plesk include_path setting (.:/var/www/vhosts/chiemsee-licht.de/httpdocs/{magento-directory}/vendor{:}.:/opt/plesk/php/7.0/share/pear), the validation is not working

The second way has the benefit, that the original include_path setting by Plesk is still valid, which might be used for something else. If these changes will have any effect of orders etc is not tested yet

ishakhsuvarov commented 7 years ago

@JoergLindner Looks like your issue is solved and does not directly relate to the Magento. Should we close the issue now? Thanks

JoergLindner commented 7 years ago

Hi,

yes it can be set to solved, but still would be good ta make any notes for future customers with plesk setup

Regards

Jörg Lindner Ringstrasse 38 83224 Grassau Telefon: 08641 6969905 Telefax: 08641 6969906

Am 15.11.2017 um 13:35 schrieb Ievgen Shakhsuvarov:

@JoergLindner https://github.com/joerglindner Looks like your issue is solved and does not directly relate to the Magento. Should we close the issue now? Thanks

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/magento/magento2/issues/12255#issuecomment-344579443, or mute the thread https://github.com/notifications/unsubscribe-auth/AfFW_HFnT8y2HgK70nm2qLxrIejvxlMVks5s2tqmgaJpZM4Qd_fA.

serefatka commented 6 years ago

@JoergLindner where exactly should add this: include_path = ".:/var/www/vhosts/{webstite}/httpdocs/{magento-directory}/vendor"

JoergLindner commented 6 years ago

Plesk Admin PHP Setting for xxx(Domain) Common Setting --> Include Path --> set to '.' Additional directives --> Additional configuration directives --> add ".:/var/www/vhosts/{webstite}/httpdocs/{magento-directory}/vendor"

You might have to add

include_path = ".:/etc/pki/tls/certs" as well

serefatka commented 6 years ago

Thanks @JoergLindner. Unfortunately it does not help us. Do any one have an idea what else we can do to fix it or is other way to change email addresses?

gab4mad commented 6 years ago

It's not only a problem with Plesk - I use for development a Serversetup with several v-servers hosted on a debian-engine using qemu... - The ISP-Backend used on th v-servers is ispconfig and the problems are the same, and the solution is the same, very easy... - just adding the path to the zend library. When using ispconfig 3.1 in the optional hosting settings -> individual php settings It looks like: include_path = ".:/var/www/clients/yourclient/yourwebdirectory/pathtowebrootdirectoy/vendor/magento/zendframework1/library" When using Plesk, like Jörg explained above, in the php-Settings of the domain -> additional config It looks very similar, like: include_path = ".:/var/www/vhosts/pathtoyourwebrootdirectory/vendor/magento/zendframework1/library" This helped and causes no other Problems in my cases...

eamonsheeran commented 6 years ago

Thanks gab4mad it work for me too

markPostema commented 5 years ago

Thanks gab4mad, your solution was the working one!

delve-game-studios commented 4 years ago

Nothing worked for me and I want to ask one question. Why in HELL would you use the Zend Framework 1 for anything... we're not in the Stone Age anymore...

tushhan commented 3 years ago

In my case (on Plesk; VPS+Centos 8) adding a dot "." to include_path screen resolved the issue.

PHP Settings Plesk Obsidian