Home >Backend Development >PHP Tutorial >How Can I Disable Magic Quotes on Shared Hosting When php.ini Is Inaccessible?

How Can I Disable Magic Quotes on Shared Hosting When php.ini Is Inaccessible?

Susan Sarandon
Susan SarandonOriginal
2024-12-05 08:24:101005browse

How Can I Disable Magic Quotes on Shared Hosting When php.ini Is Inaccessible?

Disabling Magic Quotes on Shared Hosting

When using shared hosting, you may face limitations in accessing php.ini to disable PHP's magic quotes. This can be frustrating if you encounter internal server errors when attempting to use .htaccess or ini_set().

To overcome these limitations, consider the following approaches:

Custom php.ini

Certain shared hosting environments allow you to create a custom php.ini file. This can be done by adding the following line to your .htaccess file:

php_admin_value magic_quotes_gpc off

.htaccess Configuration

If you don't have access to php.ini, you can try modifying .htaccess directly. However, note that using php_flag may result in a 500 error. Instead, use the php_value directive:

php_value magic_quotes_gpc off

ini_set() Limitations

Using ini_set('magic_quotes_gpc', 'O') is ineffective because the valid values for this setting are true/false, 1/0, or "on"/"off".

ini_set( 'magic_quotes_gpc', 0 );   // doesn't work

Per-Directory INI Settings

magic_quotes_gpc is a per-directory setting, meaning you cannot change it using ini_set(). To modify this setting, you can use .htaccess or implement a script to remove the effects of magic quotes:

if ( in_array( strtolower( ini_get( 'magic_quotes_gpc' ) ), array( '1', 'on' ) ) )
{
    $_POST = array_map( 'stripslashes', $_POST );
    $_GET = array_map( 'stripslashes', $_GET );
    $_COOKIE = array_map( 'stripslashes', $_COOKIE );
}

The above is the detailed content of How Can I Disable Magic Quotes on Shared Hosting When php.ini Is Inaccessible?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn