Ich wünschte, das wäre besser dokumentiert (siehe PHP-Bug # 61233), aber aus dem Quellcode sieht es aus, als wäre der Methodenname für PHP 5.4+ "setSecurityPrefs" anstelle von "setSecurityPreferences" und die Konstante ist "XSL_SECPREF_NONE" anstelle von "XSL_SECPREFS_NONE". (Im Gegensatz zu dem, was Sie in einem Kommentar zu Fehler # 54446 lesen können). Ich würde jedoch eher 0 verwenden, falls sie ihre Meinung über die Schreibweise ändern.
Im Moment versuche ich so etwas:
if (version_compare(PHP_VERSION, '5.4', '<')) { $oldval = ini_get('xsl.security_prefs'); if ($oldval != '0') { $oldval = ini_set('xsl.security_prefs', '0'); if ($oldval === false) ;//manage the error } } else $oldval = $xsltproc->setSecurityPrefs(0);
und nach der Transformation:
if ($oldval != 0 && $oldval != '0') { if (version_compare(PHP_VERSION, '5.4', '<')) ini_set('xsl.security_prefs', $oldval); else $xsltproc->setSecurityPrefs($oldval); }