ID: 31618 User updated by: kibab at icehouse dot net Reported By: kibab at icehouse dot net -Status: Feedback +Status: Open Bug Type: Filesystem function related Operating System: redhat enterprise PHP Version: 5.0.3 New Comment:
Ok. I installed libxml2-2.6.16 and compiled both. STABLE snapshot from last night compiles fine and links to the new libxml2. UNSTABLE fails linking: ... ext/libxml/libxml.lo(.text+0x362): In function `_php_libxml_free_error': /root/builds/php5-200503091530/ext/libxml/libxml.c:339: undefined reference to `xmlResetError' ext/libxml/libxml.lo(.text+0x394): In function `_php_list_set_error_structure': /root/builds/php5-200503091530/ext/libxml/libxml.c:353: undefined reference to `xmlCopyError' ext/libxml/libxml.lo(.text+0xa1e): In function `zm_deactivate_libxml': So, I could only try it out on the new STABLE snapshot, and the behavior is NOT fixed. Also, an almost identical situation comes up with the following test case (nearly identical to my first one): $myfilename = '/var/lib/php/test_templ2.php'; if (is_readable($myfilename)) { echo "is_readable: $myfilename (true)<br>"; } else { echo "is_readable: $myfilename (false)<br>"; } //include($myfilename); $res = fopen($myfilename,'r'); echo "res: $res<br>"; $text = fgets($res, 4096); echo $text This results in: Warning: fopen() [function.fopen]: SAFE MODE Restriction in effect. The script whose uid/gid is 49/49 is not allowed to access /var/lib/php/test_templ2.php owned by uid/gid 0/0 in /var/www/sites/devel/test.php on line 10 Warning: fopen(/var/lib/php/test_templ2.php) [function.fopen]: failed to open stream: Success in /var/www/sites/devel/test.php on line 10 ... Thus, fopen also has the same type of problem. As you can see below, safe_mode_include_dir is set to /var/lib/php, as referenced in the above error message. // php.ini settings $ cat /etc/php.ini | grep -i safe_mode safe_mode = On safe_mode_gid = On safe_mode_include_dir = /var/lib/php ... Previous Comments: ------------------------------------------------------------------------ [2005-03-09 21:42:46] [EMAIL PROTECTED] Try this snapshot too, from the PHP 5_0 branch: http://snaps.php.net/php5-STABLE-latest.tar.gz ------------------------------------------------------------------------ [2005-03-09 19:32:42] kibab at icehouse dot net Ok. It turns out xmlErrorPtr (and all the other changes) are associated with libxml2 version 2.6.X. So, the docs are wrong now, assuming the upgrade was intended. I guess my RPM's are no longer sufficient. acinclude.m4, aclocal.m4, and configure all mention 2.5.10. However, ext/xml/xml.c has a reference to php_error_docref() that mentions upgrading to libxml2 version 2.6. So, libxml2 version 2.6 is the official requirement now? ------------------------------------------------------------------------ [2005-03-09 18:16:01] kibab at icehouse dot net A bit more information. I ran the compile command manually using gcc -E instead of libtool, and it turns out that xmlErrorPtr hasn't yet been defined at that point, which is why it's dieing. Also, I grepped for it but it's not present: $ pwd /usr/include/libxml2 $ grep -rni "xmlError" * libxml/globals.h:17:#include <libxml/xmlerror.h> Per {acinclude,aclocal}.m4, libxml2 version 2.5.10 is required, but I have that installed.... I'll keep investigating... thanks. ------------------------------------------------------------------------ [2005-03-09 16:42:44] kibab at icehouse dot net Configure options listed below. It's basically a mirror of the standard PHP-4 Redhat options adapted for PHP-5, with a couple of extra options I added in. ./configure '--host=i386-redhat-linux' '--build=i386-redhat-linux' '--target=i386-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--cache-file=./config.cache' '--with-config-file-path=/etc' '--with-config-file-scan-dir=/etc/php.d' '--enable-force-cgi-redirect' '--disable-debug' '--enable-pic' '--disable-rpath' '--enable-inline-optimization' '--with-bz2' '--with-db4=/usr' '--with-curl' '--with-dom=/usr' '--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr' '--with-png-dir=/usr' '--with-gd' '--enable-gd-native-ttf' '--with-ttf' '--with-gettext' '--with-ncurses' '--with-gmp' '--with-iconv' '--with-jpeg-dir=/usr' '--with-openssl' '--with-png' '--with-pspell' '--with-regex=system' '--with-xml' '--with-expat-dir=/usr' '--with-zlib' '--with-layout=GNU' '--enable-bcmath' '--enable-exif' '--enable-ftp' '--enable-magic-quotes' '--enable-safe-mode' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-discard-path' '--enable-track-vars' '--enable-trans-sid' '--enable-yp' '--enable-wddx' '--enable-mbstring' '--enable-mbstr-enc-trans' '--enable-mbregex' '--without-oci8' '--with-pear=/usr/share/pear' '--with-imap=/usr' '--with-imap-ssl' '--with-kerberos=/usr/kerberos' '--with-ldap=/usr' '--with-mysql=/usr' '--with-mysql-sock=/var/lib/mysql/mysql.sock' '--with-pgsql=/usr' '--with-unixODBC=/usr' '--enable-memory-limit' '--enable-bcmath' '--enable-shmop' '--enable-versioning' '--enable-calendar' '--enable-dbx' '--enable-dio' '--enable-mcal' '--with-apxs2filter=/usr/sbin/apxs' '--with-xsl=/usr' '--with-mysqli=/usr/bin/mysql_config' In terms of what libxml I'm running (from rpm -qa | grep -i libxml): libxml2-2.5.10-7 libxml2-devel-2.5.10-7 libxml-1.8.17-9.2 As a side note, I haven't had any problems compiling PHP-5.0.1 through PHP-5.0.3 using the above configure line nor the version of libxml2 that I have been running (it might have changed a bit over time because of up2date, but it hasn't been that dramatic a change). ------------------------------------------------------------------------ [2005-03-09 00:58:42] [EMAIL PROTECTED] What libxml2 version do you have installed? What configure options did you use? ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/31618 -- Edit this bug report at http://bugs.php.net/?id=31618&edit=1