Я пытаюсь преобразовать XML-файл в вывод HTML с помощью XSLT.
Мой код выглядит следующим образом:
<?php $xml = new DOMDocument; $xml->load('file.xml'); $xsl = new DOMDocument; $xsl->load('file.xsl'); $proc = new XSLTProcessor; $proc->importStyleSheet($xsl); echo $proc->transformToXML($xml); ?>
Но я получаю сообщение об ошибке: Fatal error: Class 'XSLTProcessor' не найден
Я знаю, что это связано с тем, что xsltprocessor не скомпилирован с PHP на моем сервере … Но я не могу найти способ его включить. (Я не контролирую сервер, но мой хостинг делает)
Просто установите: sudo apt-get install php5-xsl
И RESTART ваш сервер APACHE;)
Я не контролирую сервер
Расширение PHP XSL может быть установлено и включено только с помощью sysadmin.
Хотя он по умолчанию компилируется , он обычно не устанавливается по умолчанию, когда сервер использует предварительно упакованную версию PHP. Попросите вашего хоста установить пакет php-xml
, если вы находитесь в * nix. Если вы размещаете в Windows, это становится немного более привлекательным, так как для этого требуется найти правильный .dll-файл (который может быть включен или не включен в официальный дистрибутив) и редактировать php.ini.
С apache2 / php5 вам необходимо установить и включить расширение php5-xsl.
http://php.net/manual/en/book.xsl.php дает информацию о том, как установить расширение xsl. Чтобы включить, поместите строку «extension = php_xsl.so» в ваш файл php.ini.
Если он все еще не работает, создайте новый .php-файл на своем сервере, содержащий строку «». Загрузите только что созданный файл и найдите «xsl», чтобы узнать, действительно ли загружается расширение.
Необходимо установить расширение XLS.
Мое решение в моем контексте.
Я использую один контейнер докеров, содержащий базу ubuntu и использую php-fpm (т. Е. Если вы просто уже используете linux ubuntu в том же).
Шаги по установке этого расширения в моем контексте:
Первый поиск расширения xsl в репозитории linux
sudo apt-cache search xsl
Я закончил поиск php5-xsl, поэтому он был установлен только
sudo apt-get install php5-xsl
что процесс установки настроек конфигурации уже добавлен, если этого не происходит, просто сделайте сами
sudo vim /etc/php5/mods-available/xsl.ini
вставьте этот контент:
extension=xsl.so
(очевидно, что пути соответствуют вашим настройкам конфигурации php, но мой пример – это конфигурация по умолчанию)
Перезапустите php fpm и выполните ( sudo service php5-fpm restart
)!
Если ваша php-среда находится в Linux, вы, вероятно, можете включить расширение php, используя следующую команду:
yum install php-xml
Если это система Windows, вы можете войти в свой конфигурационный файл php.ini и раскомментировать расширение php_xml.dll.
Надеюсь, это поможет. Быстрый поиск в Google может отвечать на такие вопросы в будущем.