From: Ashley Sheridan on
Hi all,

I'm having a bit of a problem here with getting DomDocument on PHP. I've
got a Fedora 11 system and have used the package manager to install PHP
and its various modules, at no point have I compiled PHP myself (which
has never worked when I've tried it, ever, but that's another issue)

I've made sure the xml module was installed through packagekit, but i
find no listing for any php-dom type module. I checked the line that PHP
was configured and built with as shown in a phpinfo() call, and
--disable-dom is showing, however, I believe that's actually a red
herring, as a virtual machine running CentOS also has -disable-dom
showing as a config option, and yet DOM is also clearly listed as
working further down the phpinfo() page.

Is there some sort of issue with Fedora and DOM, as I read online that
it wasn't included in the default repos. What can I do to enable
domdocument that doesn't involve compiling PHP manually (like I said,
every time I try it there's a failure because of some missing symbols or
other, but this could again be a Fedora issue)

Is there maybe an RPM somewhere that anyone knows about and has used
before, or is it simply that I need to copy or make a symlink to a .so
library?

Full specs are as follows:
Fedora 11
Apache 2.2.15
PHP 5.2.13


Thanks,
Ash
http://www.ashleysheridan.co.uk


From: Ashley Sheridan on
On Mon, 2010-07-19 at 12:09 +0100, Ashley Sheridan wrote:

> Hi all,
>
> I'm having a bit of a problem here with getting DomDocument on PHP. I've
> got a Fedora 11 system and have used the package manager to install PHP
> and its various modules, at no point have I compiled PHP myself (which
> has never worked when I've tried it, ever, but that's another issue)
>
> I've made sure the xml module was installed through packagekit, but i
> find no listing for any php-dom type module. I checked the line that PHP
> was configured and built with as shown in a phpinfo() call, and
> --disable-dom is showing, however, I believe that's actually a red
> herring, as a virtual machine running CentOS also has -disable-dom
> showing as a config option, and yet DOM is also clearly listed as
> working further down the phpinfo() page.
>
> Is there some sort of issue with Fedora and DOM, as I read online that
> it wasn't included in the default repos. What can I do to enable
> domdocument that doesn't involve compiling PHP manually (like I said,
> every time I try it there's a failure because of some missing symbols or
> other, but this could again be a Fedora issue)
>
> Is there maybe an RPM somewhere that anyone knows about and has used
> before, or is it simply that I need to copy or make a symlink to a .so
> library?
>
> Full specs are as follows:
> Fedora 11
> Apache 2.2.15
> PHP 5.2.13
>
>
> Thanks,
> Ash
> http://www.ashleysheridan.co.uk
>
>


OK, I seem to have answered my own question!

It seems that even though PHP had the XML module enabled, I still needed
to run 'yum update php-xml' in order for it to load in the DOM module.
It's now working fine, and for those of you interested, the ./configure
line in phpinfo() still says --disable-dom!

Thanks,
Ash
http://www.ashleysheridan.co.uk


From: Michael Shadle on
Makes sense. Core would be more stripped down if it has modules available as separate packages.

On Jul 19, 2010, at 4:19 AM, Ashley Sheridan <ash(a)ashleysheridan.co.uk> wrote:

> On Mon, 2010-07-19 at 12:09 +0100, Ashley Sheridan wrote:
>
>> Hi all,
>>
>> I'm having a bit of a problem here with getting DomDocument on PHP. I've
>> got a Fedora 11 system and have used the package manager to install PHP
>> and its various modules, at no point have I compiled PHP myself (which
>> has never worked when I've tried it, ever, but that's another issue)
>>
>> I've made sure the xml module was installed through packagekit, but i
>> find no listing for any php-dom type module. I checked the line that PHP
>> was configured and built with as shown in a phpinfo() call, and
>> --disable-dom is showing, however, I believe that's actually a red
>> herring, as a virtual machine running CentOS also has -disable-dom
>> showing as a config option, and yet DOM is also clearly listed as
>> working further down the phpinfo() page.
>>
>> Is there some sort of issue with Fedora and DOM, as I read online that
>> it wasn't included in the default repos. What can I do to enable
>> domdocument that doesn't involve compiling PHP manually (like I said,
>> every time I try it there's a failure because of some missing symbols or
>> other, but this could again be a Fedora issue)
>>
>> Is there maybe an RPM somewhere that anyone knows about and has used
>> before, or is it simply that I need to copy or make a symlink to a .so
>> library?
>>
>> Full specs are as follows:
>> Fedora 11
>> Apache 2.2.15
>> PHP 5.2.13
>>
>>
>> Thanks,
>> Ash
>> http://www.ashleysheridan.co.uk
>>
>>
>
>
> OK, I seem to have answered my own question!
>
> It seems that even though PHP had the XML module enabled, I still needed
> to run 'yum update php-xml' in order for it to load in the DOM module.
> It's now working fine, and for those of you interested, the ./configure
> line in phpinfo() still says --disable-dom!
>
> Thanks,
> Ash
> http://www.ashleysheridan.co.uk
>
>
From: "Michael A. Peters" on
Ashley Sheridan wrote:

>
>
> OK, I seem to have answered my own question!
>
> It seems that even though PHP had the XML module enabled, I still needed
> to run 'yum update php-xml' in order for it to load in the DOM module.
> It's now working fine, and for those of you interested, the ./configure
> line in phpinfo() still says --disable-dom!

Yes.
I'm quite familiar with the rpm build process for php.

The initial build of php is without support for any of the modules. Then
the modules are built. So the configure command for the core php apache
DSO has just about everything disabled.

A nasty side effect of doing it this way - if you ever need to rebuild
the src.rpm, either do it in a chroot build environment (such as mock)
or be sure to remove all the old php packages - because what can happen
is the new php is built but when it then goes to build the modules, it
links them against installed php instead of the php it just built.

They may have fixed that in the Makefile, I don't know, but the net
result can be a set of rpms that are broken.