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!