Running WordPress w/WooCommerce on a Ubuntu 18.04 droplet with PHP 7.4.2.
A WooCommerce Square payment add-in is not accepting payments.
The WooCommerce website status is reporting 2 errors:
Your server does not support the mbstring functions - this is required for better character encoding. Some fallbacks will be used instead for it.
Your server does not have the SoapClient class enabled - some gateway plugins which use SOAP may not work as expected.
Both php-mbstring and php-soap are installed.
A php -i | grep soap
command returns:
/etc/php/7.4/cli/conf.d/20-soap.ini,
soap
soap.wsdl_cache => 1 => 1
soap.wsdl_cache_dir => /tmp => /tmp
soap.wsdl_cache_enabled => 1 => 1
soap.wsdl_cache_limit => 5 => 5
soap.wsdl_cache_ttl => 86400 => 86400
A php -i | grep mbstring
command returns:
/etc/php/7.4/cli/conf.d/20-mbstring.ini,
Zend Multibyte Support => provided by mbstring
Multibyte decoding support using mbstring => enabled
mbstring
mbstring extension makes use of "streamable kanji code filter and converter", which is distributed under the GNU Lesser General Public License version 2.1.
mbstring.detect_order => no value => no value
mbstring.encoding_translation => Off => Off
mbstring.func_overload => 0 => 0
mbstring.http_input => no value => no value
mbstring.http_output => no value => no value
mbstring.http_output_conv_mimetypes => ^(text/|application/xhtml\+xml) => ^(text/|application/xhtml\+xml)
mbstring.internal_encoding => no value => no value
mbstring.language => neutral => neutral
mbstring.regex_retry_limit => 1000000 => 1000000
mbstring.regex_stack_limit => 100000 => 100000
mbstring.strict_detection => Off => Off
mbstring.substitute_character => no value => no value
I was told by WooCommerce support the line:
mbstring.encoding_translation => Off => Off
Is the problem.
I do not know how to fix or troubleshoot this problem. Thank you in advance for any help you can provide!
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.
Sign up for Infrastructure as a Newsletter.
Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
Hi @mdkennedy,
It does seem like you have mbstring and SOAP enabled on your PHP version. It’s possible however your website is actually picking up another PHP version. You can confirm this by creating a info.php file in your website’s DocumentRoot.
The info file will provide you with all the PHP settings,configurations your website is using. To create it just add an info.php file in your website’s directory and type in the following inside it
It should say which PHP version is picking up and help you determine if you actually have mbstring for the said website.
Regards, KDSys