DOM XML help [message #177] |
Sun, 27 August 2006 15:33 |
|
I decided to open this topic to help who is having problems with DOM XML.
This topic is read only in order to not make eccessive confusion during discussions. Consider this topic as a collection of FAQs that will be updated on every new issue.
- Part 0: What if I can't use DOM XML?
Before following this tutorial, you must know that if you can't use DOM XML you can't use phpMyBitTorrent at all. You will be able only to install versions up to 0.7.10. But, if DOM XML has failed till now it doesn't directly mean that you can't use it at all. So try this tutorial before throwing the towel.
- Part 1: What you should know about DOM XML
DOM XML is a PHP extension that allows to handle XML documents with an advanced set of classes, as defined in DOM XML standards by W3C.
phpMyBitTorrent uses DOM XML to make operations on Torrents that else wouldn't have been possible. At the time I'm writing, the feature that actively uses DOM XML is not yet present, but I'm working on it. DOM XML makes also possible the generation of an RDF feed that is compliant with the specifications of the W3C, and to easily read the structure of Torrents.
In few words, DOM XML goes beyond the limits of the old bencoder core.
- Part 2: Can everybody use DOM XML?
Unfortunately, not everybody. In order to use DOM XML, you server must be able to use it! Seems a word-game, but it's not. We can't tell you a priori (before you test it) if your server supports DOM XML, but we know the situation for some users. Let's examine what can determine you ability to execute DOM XML
- If Safe Mode is enabled, you cannot use DOM XML
- If your PHP version is less than 4.0, you cannot use DOM XML
- If you use PHP 5, can use DOM XML
- If you use Windows, you may use DOM XML
- If you are the owner of your server, you can use DOM XML after properly configuring PHP
- If you are using a free or cheap hosting service, you may not use DOM XML
You will know that you can use DOM XML only after seeing phpMyBitTorrent work good
- Part 3: Recompiling DOM XML
The following applies on UNIX system. If your server uses Windows, you don't need to recompile anything.
First of all, why recompiling?
The answer is simple: if you get a load error while trying to load DOM XML, it means that you can't use the version provided with phpMyBitTorrent (at this time you can't say you can't use DOM XML yet). The first thing you should try is recompiling DOM XML. Unfortunately, you can recompile DOM XML in a way that it will 90% works (the left 10% is the possibility that your server admin applied some kind of protection that doesn't allow you to use DOM XML or other extensions at all) ONLY if you have shell access, even with restricted privileges. If your server has SSH, and you have an account, you can recompile DOM XML.
If you can't recompile DOM XML, you can try to recompile DOM XML on a machine that has the same hardware and software configuration of the server. The success probabilities are of the 70%, according on how precisely you match the server configuration (refer to phpinfo()).
The last option is to try one of the domxml.so files that we will distribute on this topic. Some will be made using SourceForge compile farm.
How to manually recompile?
Download the source package of YOUR PHP VERSION and decompress it in any directory.
With user shell, enter that directory and use the following commands:
- $ ./configure
- $ make
- $ cd extensions
Then, using cp command, copy the domxml.so file you find in that directory into phpMyBitTorrent's extensions directory.
Will it work?
Probabily.
We have been reported that phpMyBitTorrent refuses torrents on FreeBSD. We don't know the reason, but plaese avoid FreeBSD when choosing server environment.
If you have more problems please open a topic, possibly linking a phpinfo script or reporting its summary here (please use [SPOILER] tags for best appearence)
Unfortunately, no one can be told what the Matrix is. You have to see it for yourself.
[Updated on: Sun, 02 December 2007 02:26] by Moderator Report message to a moderator
|
|
|