PDA

Показать полную графическую версию : [решено] PHP + XSLT


Vlad Drakula
26-04-2008, 02:10
дома у меня стоит PHP там есть XSLT
есть VDS там тоже стоит PHP но XSLT там нет...

обе машины под Убунту6 оба PHP ставились из пакета
что делать?

ibnteo
26-04-2008, 12:31
Установите пакет php5-xsl:
sudo apt-get install php5-xsl

Vlad Drakula
27-04-2008, 09:07
уже сделал

Coutty
16-06-2008, 12:20
Хм... Сейчас попытался запустить обработку XLST из PHP скрипта. Пишет - неверная функция.
Видимо, XSLT не поддерживается.
Как его прикрутить к Мандриве?:)

PHP 5.2.4.
Apache 2.2.6

Скачал я пакет php5-xsl, но он, во-первых, для OpenSUSE, а во вторых для PHP 5.2.0. В общем, установил. И что дальше делать? XSLT всё равно не работает...

ibnteo
16-06-2008, 12:29
Какая функция неверная?
Вот пример XSLT-трансформации в PHP5:

<?php
$xml = new DomDocument();
$xml->load('main.xml');
$xslt = new DomDocument();
$xslt->load('main.xslt');
$proc = new XsltProcessor();
$proc->importStylesheet($xslt);
$proc->transformToURI($xml, 'php://output');
?>

Coutty
16-06-2008, 13:40
ibnteo, я использовал такой вариант:
<?php
$xh = xslt_create();
$result = xslt_process($xh, 'book.xml', 'style.xsl');
echo $result;
xslt_free($xh);
?>
Вот, первая функция уже и не работает.

Попробовал ваш вариант - "Fatal error: Class 'XsltProcessor' not found in /var/www/html/xmlbook/index.php on line 6" :(
Может быть надо подключить библиотечку какую?

ibnteo
16-06-2008, 14:15
Видимо пакет не как надо установился, неужели в мандриве нет пакета php5-xsl?

P.S. я не знаю как софт в мандриве ставится.

Coutty
16-06-2008, 14:49
Вот не было пакета в дистрибутиве :( Да и поиск только для SUSE выдаёт. Впрочем, я только rpmfind'ом пользовался.
Наверное что-то в httpd.conf (или в php.ini?) надо дописать. Или он работает сам по себе? :)

ibnteo
16-06-2008, 14:58
в убунту работает сразу, при установке создается файл /etc/php5/conf.d/xsl.ini с содержимым: extenstion=xsl.so
возможно в мандриве этот пакет по другому называется

Coutty
16-06-2008, 17:45
Да, файл такой есть, строка в нём тоже.
Но... XsltProcessor() всё равно не определён.
В phpinfo() никаких упоминаний про xsl нет.




© OSzone.net 2001-2012