- Plesk Onyx 17.5 for Linux
Note: This article has the reference to the issue with the fix available:
- #EXTWPTOOLK-2274 "WordPress can now be installed for those customers who for some mind-boggling reason have no email address specified in Plesk."
- WordPress Toolkit 3.5.4 27 December 2018
- Cannot install WordPress in Domains > example.com > WordPress under Customer account with the following error in browser screen:
CONFIG_TEXT: Call to a member function getSets() on null
- The following error can be found in
CONFIG_TEXT: [2018-12-18 10:56:58] ERR [extension/wp-toolkit] Unable to quick install WordPress instance:Array
[general] => Array
[adminEmail] => Array
[isEmpty] => This required field is empty. You need to specify a value.
[18-Dec-2018 10:56:58 Asia/Tokyo] PHP Fatal error: Call to a member function getSets() on null in /usr/local/psa/admin/plib/modules/wp-toolkit/views/scripts/install.phtml on line 102
- Output of the command below shows that email address for customer is not specified:
# plesk db "select clients.email, clients.pname as 'Customer name' from domains, clients where domains.cl_id=clients.id and domains.displayName='example.com';"
| email | Customer name |
| | TestCustomer |
- WordPress under other customers account containing mail address or admin can be installed successfully
The issue when WordPress cannot be installed if customer email is not specified is caused by a bug with ID #EXTWPTOOLK-2274, which is planned to be fixed in product future updates.
- Login server via SSH.
- Create backup of Plesk database.
- Run the following command replacing
email@example.com actual customer email address and
example.comwith domain name where the issue appeared:
# plesk db "update clients set firstname.lastname@example.org' where id=(select cl_id from domains where displayName='example.com');"
- If there are multiple customers without mail address, either specify valid email one by one, replacing
example.comwith domain name where the issue appeared. Or replace all missing email addresses with the one. For example:
# plesk db "update clients set email@example.com' where email='';"
In order to avoid such issues in the future, always create customers specifying email address via CLI. For example:
# plesk bin customer --create Jdoe -name "John" -passwd sample -email "firstname.lastname@example.org" -country US -notify false