alte PHP Version im Shop ( z.B. XtC) nutzen

In der .htaccess Datei muss auf die _php52Fix.php verwiesen werden. Dazu wird der Eintrag gesetzt:
 php_value auto_prepend_file _php52Fix.php
Dann wird noch die Datei _php52Fix.php in den Account gelegt. Die beinhaltet eine Anweisung, dass veraltete Funktionen deaktiviert und Fehlermeldungen ausgeblendet (und ev. noch bei Bedarf die register_globals auf on gestellt) werden.  Der Inhalt des Scriptes lautet:

<?php
/**
 * Dieses Skript wird über folgenden Eintrag
 * in der .htaccess-Datei eingebunden:
  * php_value auto_prepend_file _php52Fix.php
  */
 
if(version_compare(PHP_VERSION, '5.3.0', '>='))
{
    /**
     * Diese Function ersetzt die ab PHP 5.4
     * fehlende Funktion  session_register()
     */
    if(!function_exists('session_register'))
    {
        function session_register($value)
        {
            if(isset($GLOBALS[$value]))
            {
                $_SESSION[$value] = $GLOBALS[$value];
            }           
            $GLOBALS[$value] = &$_SESSION[$value];
        }
        unset($value);
    }   
    /**
     * Diese Function ersetzt die ab PHP 5.4
     * fehlende Funktion  session_is_registered()
     */
    if(!function_exists('session_is_registered'))
    {
        function session_is_registered($value)
        {
            if (isset($_SESSION['$value']))
            {
                return true;
            }
            else
            {
                return false;
            }
        }
        unset($value);
    }   
    @ini_set('display_errors', 'off');
}
?>

und bei der Verwendung von Register Globals kann noch folgender Eintrag hinzugefügt werden:

/**
     * Diese Function bewirkt das gleiche
     * wie die Aktivierung der PHP-Einstellung
     * "register_globals=on"
     *
     */
    foreach(array_keys($GLOBALS) as $key)
    {
        if($key == "GLOBALS") continue;
    
        foreach($GLOBALS[$key] as $key => $value)
        {
            $$key = $value;
        }
    }
    unset($key, $value);

das kommt vor der Zeile  :  @ini_set('display_errors', 'off');
}
?>  rein

Bewertung der FAQ

0 (0 Abstimmungen)