Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программное обеспечение Linux и FreeBSD (http://forum.oszone.net/forumdisplay.php?f=11)
-   -   [решено] PHP + XSLT (http://forum.oszone.net/showthread.php?t=105786)

Vlad Drakula 26-04-2008 02:10 789455

PHP + XSLT
 
дома у меня стоит PHP там есть XSLT
есть VDS там тоже стоит PHP но XSLT там нет...

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

ibnteo 26-04-2008 12:31 789575

Установите пакет php5-xsl:
Код:

sudo apt-get install php5-xsl

Vlad Drakula 27-04-2008 09:07 790097

уже сделал

Coutty 16-06-2008 12:20 827099

Хм... Сейчас попытался запустить обработку 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 827112

Какая функция неверная?
Вот пример 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 827190

ibnteo, я использовал такой вариант:
PHP код:

<?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 827210

Видимо пакет не как надо установился, неужели в мандриве нет пакета php5-xsl?

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

Coutty 16-06-2008 14:49 827241

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

ibnteo 16-06-2008 14:58 827248

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

Coutty 16-06-2008 17:45 827403

Да, файл такой есть, строка в нём тоже.
Но... XsltProcessor() всё равно не определён.
В phpinfo() никаких упоминаний про xsl нет.


Время: 02:34.

Время: 02:34.
© OSzone.net 2001-