Since the new php layout in the ports (July 23 2004), the xslt extension for php4 does not work correctly.
On a FreeBSD 5.2.1-p8 machine (also reproduced on 4.10-release and 5.2-CURRENT) I installed apache2 and php4 from the ports. Then I installed the /usr/ports/textproc/php4-xslt port.
I verified my php.ini that the extension is loaded (extension=xslt.so) and that the extension-path is included (extension_dir = "/usr/local/lib/php/20020429").
In a php file I use the xslt_set_encoding() function. When I connect to this file the following error appears:
Fatal error: Call to undefined function: xslt_set_encoding() in /usr/local/www/data-dist/test.php on line 3
Before July 23 2004, when php4 (and its extensions) had to be installed differently from the ports, there was no problem.
How-To-Repeat: - cvsup the ports-tree after July 23 2004 (the new php4 port layout)
- Install the /usr/ports/www/apache2 port with 'make install clean'
- Install the /usr/ports/lang/php4 port with 'make install clean'
- Install the /usr/ports/textproc/php4-xslt port with 'make install clean'
- Create a test.php file with the following content:
$args = array ( '/_xml' => $xml, '/_xslt' => $xslt);
- Place the test.php file in the root of the web-tree and connect with a webbrowser to http://[machinename]/test.php
- See that PHP says that the xslt_set_encoding() does not exist.
Over to maintainer.
Fixed, rebuild the php4-xslt port.