Use of mbstring.http_input is deprecated

Error appears frequently:
Fatal error :
type : 8192
message : PHP Request Shutdown: Use of mbstring.http_input is deprecated
file : Unknown
line : 0

See PHP: Predefined Constants - Manual about type of error

You need to disable the old option mbstring.http. I can’t edit php configuration.

Nobody is going to change the PHP configuration for you, unfortunately, because there’s no button for us to change config for a certain site.


Bad hosting

Then find your good hosting. We are not threatened.

What’s more, judging from the error message you got, it seems that what is actually bad is your software still attempting to use something that is already disabled here because of its deprecation. I don’t know what are you asking about then.


PHP error (Fatal error: type: 8192 message: PHP Request Shutdown: Use of mbstring.http_input is deprecated) appears on full screen visitor browser. This is fine?

That means the function will still work, but it will stop working soon as the PHP developers no longer want to support it. See the PHP docs for migrations steps and deprecation reason.


Thank you.

We refresh the page and it continues to work, but any visitor will be scared of such a site.

Then update your website so the message either does not show, or it no longer uses the deprecated function.


latest version cms, couldn’t be higher.

Then contact the developers


I’m not familiar with this particular setting/function, I’m going to check how it works and get back to you.

But as for whether this error is displayed full screen to customers is up to you, not us. Errors can happen in software, but how they are handled and displayed is the choice of the software. Including just logging/reporting it and safely falling back to some default behavior where it might not be noticeable to users.


I checked it.

That’s already the case. If I create a little testing script with the following content:

<?php var_dump(ini_get('mbstring.http_input'));

Then the output is:

string(0) "" 

This means the setting is set to an empty string, which essentially means it’s not set.

As to why your website says the option is set when it isn’t, I don’t know. It must be a bug in your website.

One caveat to be aware of: if you use the Alter PHP Options menu in the control panel, it will set various PHP settings on your account, including the mbstring.http_input. Unfortunately, the Alter PHP Options menu does not provide a way to not set this option, or set it to an empty string.

If you used this tool, you may want to check your .htaccess file for any line that says php_value mbstring.http_input, and remove it. And next time you want to change PHP options, please consider using the PHP Options menu in the client area instead.


This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.