I am on Mac OS X 10.5.2 and there is an older version of tidy installed that doesn't support preserve-entities. I have downloaded the latest version of tidy and compiled and installed manually to /opt/local.
Compiling php with --with-tidy=/opt/local gives me a phpcli that uses the correct version of tidy but the apache2 module uses the original version that comes with 10.5 according to a phpinfo();
Anyone else seen anything like this?
Php5 and htmltidy
Are you using the Apache that ships with MacOS X? I've had problems before trying to get it to see other modules. I usually just compile my own versions of PHP and Apache on MacOS X, which simplifies things a lot!
I have compiled my own apache2. You pretty much have to if you plan to compile your own php due to the 64/32 bit versions of various utils etc that will cause the php build to fail.
Stupid question: You have restarted Apache since the recompile of PHP, yes?
Well, I like to get the easy ones out of the way early. :) BTW, you did do an "apachectl restart" as opposed to an "apachectl reload", yes? The latter doesn't actually reload modules, I find.
Did you compile PHP with the correct path to apxs for your custom Apache?
[quote]Well, I like to get the easy ones out of the way early. BTW, you did do an "apachectl restart" as opposed to an "apachectl reload", yes? The latter doesn't actually reload modules, I find.
Did you compile PHP with the correct path to apxs for your custom Apache?[/quote]
Yep
Interestingly, I no longer get the error when I commit changes saying there is no --preserve-entities option but when I do commit, there is a long delay and then I get a blank iframe where the content should be. I still get the asset map and the header icons though. Turning tidy off in matrix and the commit works as expected. No blank iframe.
Well after some more investigation it seems phpcli is linking correctly against the libtidy in /opt/local and libphp5.so is linking against the version of libtidy in /usr/lib despite me using the configure option of --with-tidy=/opt/local.
I tried to log a php bug but they've come back and said Bogus and now ignore it after automatically assuming a misconfigured system and making snide remarks about 10.5.
To fix it, I renamed the libtidy in /usr/lib to something else, recompiled and reinstalled php with all my options and then renamed the original libtidy back to it's correct name. All seems to be working now and libphp5.so is linked to libtidy in /opt/local.
I'll have to write this down somewhere for when I need to update php. What a debacle.