Kwert-soft.ru

IT Софт для ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Php dom extension

phpBB • Free and Open Source Forum Software

Features

Showcase

Get Involved

3.3 New Features

The Team

Contact Us

Advertising

Latest Version

Update Packages

Language Packs

Extensions

Styles

Official Tools

Customisation Database

Extensions

Extensions DB

Styles

Styles DB

Documentation

Knowledge Base

Support Forums

Discord / IRC

International Support

Area51 phpBB Development

phpBB Bug Tracker

phpBB Ideas

Security Tracker

Development Wiki

Support Forums

Extensions Forums

Styles Forums

phpBB Discussion

General Discussion

Area51

  • Unanswered topics
  • Active topics
  • Search

PHP XML/DOM extension

PHP XML/DOM extension

Post by fanmail » Sun Dec 16, 2018 3:27 pm

Hi everyone

I’m trying to install PHP XML/DOM extension.

Message board version: phpBB-3.2.4
PHP Version: PHP 7.3.0
CentOS 7

What command line can i use to install the PHP XML/DOM extension on my server please?

Thank you

Re: PHP XML/DOM extension

Post by 3Di » Sun Dec 16, 2018 3:33 pm

Re: PHP XML/DOM extension

Post by fanmail » Sun Dec 16, 2018 4:19 pm

Re: PHP XML/DOM extension

Post by david63 » Sun Dec 16, 2018 4:24 pm

Re: PHP XML/DOM extension

Post by fanmail » Sun Dec 16, 2018 4:28 pm

Re: PHP XML/DOM extension

Post by 3Di » Sun Dec 16, 2018 4:32 pm

Re: PHP XML/DOM extension

Post by Mick » Sun Dec 16, 2018 4:34 pm

» The more connected we get the more alone we become» — Kyle Broflovski

Re: PHP XML/DOM extension

Post by stevemaury » Sun Dec 16, 2018 4:37 pm

This is not a phpBB support question, but this may be helpful — https://www.hostwinds.com/guide/install . -centos-7/

Also, if you have WHM, you can use EasyApache.

For REALLY good and VERY inexpensive hosting CLICK HERE

I can stop all your spam. I can upgrade or update your Board. PM or email me. (Paid support)

Re: PHP XML/DOM extension

Post by fanmail » Sun Dec 16, 2018 4:56 pm

Then: sudo yum install -y php73-php-xml.x86_64 (my PHP version is 7.3)

and restarted the server: apachectl restart

When i try to install the phpbb message board i still get:

Re: PHP XML/DOM extension

Post by Lumpy Burgertushie » Sun Dec 16, 2018 5:07 pm

and still, this is not the place to ask for help with server setup issues. this is not about phpbb, has nothing to do with phpbb. try a site that deals with apache and /or php etc.

most hosting for websites already has this setup properly apparently so we would not see this error normally.

I’m baaaaaccckkkk. still doing work on donation basis. PM your needs.

If nobody is in the forest, does a tree really fall?

Re: PHP XML/DOM extension

Post by canonknipser » Sun Dec 16, 2018 5:08 pm

Re: PHP XML/DOM extension

Post by fanmail » Sun Dec 16, 2018 6:13 pm

I have added «extension=dom.so» to the PHP.ini but it does not work

In my PHP.ini file:
extension_dir = «/usr/lib64/php/modules»
and my files are here: «/opt/remi/php73/root/usr/lib64/php/modules/»

https://centos.pkgs.org/7/remi-x86_64/p . 4.rpm.html

Re: PHP XML/DOM extension

Post by warmweer » Mon Dec 17, 2018 11:10 am

.
and my files are here: «/opt/remi/php73/root/usr/lib64/php/modules/»

https://centos.pkgs.org/7/remi-x86_64/p . 4.rpm.html

Still seeing php7.3??

Have you tried with a lower php-version?

Re: PHP XML/DOM extension

Post by jjndig » Tue Dec 18, 2018 3:06 pm

Читать еще:  Php справочник pdf

Don’t use php-xml, use php7.2-xml and then configure your web server to use php 7.2 instead of 7.3 (or get rid of php7.3 since most things aren’t ready yet as it’s a very new release) and it should work. Since I don’t use CentOS (I use Debian) this is what I have to do, I’d assume it’s the same or similar procedure (you might need to add the repositories in manually, and from a quick google search you do — and you’ll have to use php72 rather than php7.2 like on Debian).

Install the PHP DOM Extension on CentOS – the Easiest Way

Here we cover the fastest, most effective way to get the PHP DOM extension installed on CentOS. If you’ve just found out you need to install this extension, but don’t really know what it is, we’ve included some background first.

What is DOM?

“The Document Object Model (DOM) is a cross-platform and language-independent convention for representing and interacting with objects in HTML, XHTML and XML documents.” (Source: DOM in Wikipedia.)

What is PHP DOM extension?

“The DOM extension allows you to operate on XML documents through the DOM API with PHP 5.” (Source: Introduction to the PHP DOM Extension on php.net.)

How to install the PHP DOM Extension on CentOS

You will need superuser privileges. Run the following command:

Don’t forget to restart Apache so PHP picks up the new extension:

How to Check PHP DOM is Installed

You can see PHP DOM is installed by creating a simple web page that calls the phpinfo() function:

When you go to this webpage in a browser, you should see this output for the dom extension if it’s installed:

DOM/XMLenabled
DOM/XML API Version20031129
libxml Version2.6.26
HTML Supportenabled
XPath Supportenabled
XPointer Supportenabled
Schema Supportenabled
RelaxNG Supportenabled

28 Responses to Install the PHP DOM Extension on CentOS – the Easiest Way

Thanks! Every other resource I found on installing PHP DOM involved manually installing dependencies, recompiling PHP, etc. You just saved me a bunch of hassle. Apparently, the fact that you can simply do it with YUM is a well-kept secret.

Fritz, you are are very welcome! It’s lovely to get a thank you.

Thanks man, I was triing to install a php script, Get Simple CMS, and allthought simple xml was installed ( on a CentOs 5 with virtualmin ) the DOM API was not.
the simple

yum install php-xml

and apache restart, soved the problem.

Glad this worked for you!

Ty man looked and spended hours before i came to you site love you.

Veronica, you are so welcome!

To do this now, replace ‘php’ with ‘php53’ if you want PHP 5.3.x. There are serious conflicts between standard PHP (5.1.6 at the time of writing) and 5.3. I had to completely clean out php-common, php-mysql, etc and replace them with php53-common and so on.

Thank you for taking the time to post this info!

Are you using CentOS?
If so, which version?

There’s a small issue in your docu:

It must be:
sudo service httpd restart

Oops! Good catch!

Читать еще:  Php if несколько условий

I’ve updated the article.

Thanks Known Issues!

I have tried this = yum install php-xml
and showing following errors, please help :
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* Webmin: webmin.mirror.somersettechsolutions.co.uk
* atomic: www7.atomicorp.com
* base: centos.vr-zone.com
* epel: http://ftp.cuhk.edu.hk
* extras: centos.vr-zone.com
* updates: centos.vr-zone.com
Setting up Install Process
Resolving Dependencies
–> Running transaction check
—> Package php-xml.i386 0:5.3.8-2.el5.art set to be updated
–> Processing Dependency: php-common = 5.3.8-2.el5.art for package: php-xml
–> Finished Dependency Resolution
php-xml-5.3.8-2.el5.art.i386 from atomic has depsolving problems
–> Missing Dependency: php-common = 5.3.8-2.el5.art is needed by package php-xml-5.3.8-2.el5.art.i386 (atomic)
Error: Missing Dependency: php-common = 5.3.8-2.el5.art is needed by package php-xml-5.3.8-2.el5.art.i386 (atomic)
You could try using –skip-broken to work around the problem
You could try running: package-cleanup –problems
package-cleanup –dupes
rpm -Va –nofiles –nodigest
The program package-cleanup is found in the yum-utils package.

Waiting for your response ASAP

sudo yum install php-common

php-common is already installed but i still cannot yum install php-xml
———————-
Setting up Install Process
Package matching php-common-5.1.6-27.el5_7.5.x86_64 already installed. Checking for update.
Nothing to do
————————

]# yum install php-xml
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: centos.vr-zone.com
* epel: mirror.nus.edu.sg
* extras: centos.vr-zone.com
* updates: centos.vr-zone.com
Setting up Install Process
Resolving Dependencies
–> Running transaction check
—> Package php-xml.x86_64 0:5.1.6-27.el5_7.5 set to be updated
–> Processing Dependency: php-common = 5.1.6-27.el5_7.5 for package: php-xml
–> Processing Dependency: libexslt.so.0()(64bit) for package: php-xml
–> Processing Dependency: libxslt.so.1()(64bit) for package: php-xml
–> Running transaction check
—> Package libxslt.x86_64 0:1.1.17-2.el5_2.2 set to be updated
—> Package php-xml.x86_64 0:5.1.6-27.el5_7.5 set to be updated
–> Processing Dependency: php-common = 5.1.6-27.el5_7.5 for package: php-xml
–> Finished Dependency Resolution
php-xml-5.1.6-27.el5_7.5.x86_64 from updates has depsolving problems
–> Missing Dependency: php-common = 5.1.6-27.el5_7.5 is needed by package php-xml-5.1.6-27.el5_7.5.x86_64 (updates)
Error: Missing Dependency: php-common = 5.1.6-27.el5_7.5 is needed by package php-xml-5.1.6-27.el5_7.5.x86_64 (updates)
You could try using –skip-broken to work around the problem
You could try running: package-cleanup –problems
package-cleanup –dupes
rpm -Va –nofiles –nodigest
The program package-cleanup is found in the yum-utils package.

Have the webtatic repo installed and do the following

sudo yum –enablerepo=webtatic install php-xml
service httpd stop
service httpd start

Thank you man. I saved a lot of time, and this is only thanks to you

Основы DOM

(Document Object Model)

Наиболее широко применяемы XML-расширением на сегодняшний день является DOM и simpleXML, оба из них были добавлены в 5 версии PHP. Кроме данных XML-расширений также применяются XML (XML-парсер) и DOMXML, однако эти технологии считаются устаревшими.

Работа с DOM осуществляется в объектно-ориентированном стиле. Для начала работы с ним нужно создать объект domDocument. На практике это выглядит примерно так:

$dom_xml = new DomDocument;

При создании нового объекта domDocument вызывается конструктор DOMDocument=>__construct, имеющий два необязательных аргумента, которые указывают на версию документа и его кодировку

_ _construct ([string version [, string encoding]])

После создания нового объекта domDocument необходимо загрузить данные. Осуществляется это при помощи методов DOMDocument->load() и DOMDocuтeпt->loadXML() , в первом случае данные загружаются из файла, а во втором из строки. На практике это выглядит примерно так:

//Загрузка данных из файла с явным указанием экземпляра класса:

$dom_xml = new DomDocument;
$dom_xml->load(‘file.xml‘);

//Загрузка данных из файла без явного указания экземпляра класса:

$dom_xml=DomDocument:: load(‘file.xml’);

//Загрузка данных из строки с явным указанием экземпляра класса:

Читать еще:  Php action как сделать визитку buy

$dom_xml = new DomDocument;
$dom_xml->loadXML(‘ volvo ‘);

//Загрузка данных из строки без явного указания экземпляра класса:

$dom_xml = DomDocument::lоаdХМL(‘ volvo ‘);

Если загрузка данных прошла успешно, то будет возвращено TRUE, если нет, то FALSE

После того как данные загружены чаще всего осуществляется разбор их. Осуществить это можно при помощи метода DomDocument->getElementsByTagName(). Этот метод возвращает коллекцию объектов DOMNode.

$dom_xml= new DomDocument();
$dom_xml->loadXML(‘ volvo Lada ‘);
//записываем название модели в переменную

Foreach ($mod as $element) <
echo $element->nodeValue.» «.$element->nodeName.» «.’
‘;
>
?>

volvo model
Lada model

Основные свойства объекта DOMNode

nodeNamenodeValueВозвращает значения узловchildNodesВозвращает дочерние узлы для текущего узлаfirstChildВозвращает верхний (первый) дочерний узелlastChildВозвращает последний дочерний узел

Основные методы объекта DOMNode

removeChild()hasChildNodes()Осуществляет проверку на дочерние узлыappendChild()Добавляет элементreplaceChild()Замещает узелhasAttributes()Проверка атрибутов

Примеры работы с DOM можно увидеть на следующих страницах:

PHP-расширение dom_varimport: быстрое преобразования вложенных массивов в DOMDocument

Некоторые проекты используют XSLT в качестве основного «движка» шаблонов. Помимо известных недостатков XSLT (например, его многословности, относительной медлительности и т.д.) у него есть и преимущества: «стандартность» языка, его идеология отсутствия «побочных эффектов» и pattern matching, возможность при необходимости вызывать методы helper-классов из шаблонов (через exslt-расширение). Какое-то время назад я выкладывал библиотеку ShortXSLT, позволяющую вместо громоздких и . писать просто и . . без потери производительности, так что проблема многословности отчасти решается.

Но сейчас речь не о преимуществах и недостатках XSLT (я уверен, и противники, и сторонники этой технологии найдутся в изобилии). Я бы хотел описать один прием, который удобно применять в существующих проектах с XSLT-шаблонами, и привести ссылку на библиотеку, реализующую данный прием с хорошей производительностью.

Передаем данные в XSLT, минуя генерацию текстового представления XML

Представьте, что у нас есть контроллер, генерирующий некоторый вложенный PHP-список объектов для отображения на странице. Он должен этот массив преобразовать в XML, который потом пойдет на вход XSLT-шаблону. Хорошо бы, чтобы данное преобразование из структур PHP в XML выполнялось не вручную в каждом контроллере, а был некоторый промежуточный слой абстракции, который умеет применять XSLT-шаблон прямо к PHP-данным, минуя текстовое XML-представление. Так мы уменьшим вероятность ошибок, да и письмо сократится. Мы сможем работать с XSLT-шаблонами напрямую, минуя XML-представление данных.

Некоторое время назад я написал на Си PHP-расширение dom_varimport (также выложено на GitHub). Оно содержит одноименную функцию, на вход которой подается объект DOMDocument и PHP-массив любой вложенности. Функция заполняет переданный ей DOMDocument XML-представлением входного массива, и делает она это очень быстро — примерно в 20 раз быстрее, чем делал бы код, написанный на чистом PHP. Большой документ размером около 1 МБ с тысячами вложенных свойств и объектов формируется примерно за 1-2 миллисекунды.

напечатает вот такой XML-документ:

Все достаточно прозрачно: ключи массива и свойства объектов становятся XML-элементами, по возможности с теми же именами (но если имя недопустимо для XML-элемента, то вместо него используется «item»). Такой XML-документ очень легко читать при отладке, он весьма компактен. Итак, мы получаем на выходе объект DOMDocument, который уже можем передать XSLTProcessor-у. Текстовое представление XML нигде не фигурирует, нигде не парсится.

Как установить расширение

Расширение написано на Си, поэтому его нужно откомпилировать на машине, на которой установлены GCC и пакеты типа php5-src (или php5-devel). Это совсем не страшно:

Ссылка на основную публикацию
Adblock
detector