только сегодня утром я обновил свой сервер Debian до php 5.3.9 , в журнале изменений (последний элемент в списке) есть исправление для этой ошибки, и теперь при запуске любого размещенного сайта с использованием XSL-преобразований я получаю:
Warning: XSLTProcessor::transformToXml(): Can't set libxslt security properties, not doing transformation for security reasons
Я не использую теги <sax:output>
в моем xslt вообще.
У кого-нибудь есть какая-либо информация по этому поводу, нынешняя болтовня о ней невелика, так что я немного растерялся.
Используя предложение о включении и выключении настроек ini по обе стороны от -> transformToXml():
ini_set("xsl.security_prefs", XSL_SECPREFS_NONE)
или же
$xsl->setSecurityPreferences(XSL_SECPREFS_NONE)
возвращает меня к той же ошибке
Большое спасибо.
Прогресс:
- Обновление libxml и перекомпиляция libxslt для новой версии было хорошим предложением, хотя и не устранило проблему.
- Компиляция последнего снимка php5.3 не решает проблему.
Решение:
Я не уверен, что на самом деле решило эту проблему, очень жаль, что у кого-то есть такая же проблема. сначала я обновил libxml, затем применил несколько патчей, затем зашел в исходный код php для парсера xsl и добавил некоторые отладки и несколько настроек, после нескольких компиляций, получивших правильные аргументы конфигурации, ошибка исчезла и не воспроизводилась.
Я определенно рекомендую обновить libxml, как предложил Петр ниже, а затем получить последний снимок с php.net.