[php-maint] Bug#336275: Function mysql_fetch_field crashes Apache [package php4-mysql (stable) 4:4.3.10-16_i386]

Adrian Caneva adrian.caneva at gmail.com
Sat Oct 29 05:14:54 UTC 2005


Package: php4-mysql
Status: install ok installed
Priority: optional
Section: web
Installed-Size: 112
Maintainer: Adam Conrad <adconrad at 0c3.net>
Source: php4
Version: 4:4.3.10-16
Replaces: php4-cgi-mysql
Depends: libc6 (>= 2.3.2.ds1-21), libmysqlclient12, debconf (>= 0.5) |
debconf-2.0, phpapi-20020918, php4-common (= 4:4.3.10-16)
Description: MySQL module for php4
 This package provides a module for MySQL database connections directly from
 PHP scripts.
 .
 PHP4 is an HTML-embedded scripting language. Much of its syntax is borrowed
 from C, Java and Perl with a couple of unique PHP-specific features thrown
 in. The goal of the language is to allow web developers to write
 dynamically generated pages quickly.

SYMPTOMS
==========

Applications
-----------------

Under apache-ssl (1.3.33-6sarge1, more info on package versions below):

a) PhpMyAdmin Version: 4:2.6.2-3  won´t browse tables (Browse Tab
after tables are selected)
b) Wordpress Version: 1.5.2 would show blank pages (<html><body></body></html>)


Logs
-------
- Apache won´t log HTTP requests/access from php scripts including
mysql_fetch_field calls
- But MySQL logs their sql queries
- No /var/log/messages, syslog, etc errors are shown
- No PHP errors logged

PROBLEM
========-
Apache crashes when @mysql_fetch_fields() function is called into a php script.

TEST CODE test.php
================
<?php
$conn = mysql_connect('localhost:3306', 'user', 'pass');
mysql_select_db('db);
$result = mysql_query('select * from table');
/* get column metadata */
$i = 0;
while ($i < mysql_num_fields($result)) {
   echo "Information for column $i:<br />\n";
      $meta = mysql_fetch_field($result, $i);
         $i++;
         }
 mysql_free_result($result);
?>

WORKAROUND
============
I've extracted mysql.so from package :

php4-mysql_4%3a4.3.9-1_i386.deb

And replaced

/usr/lib/php4/20020429/mysql.so

Restarting apache, the problem was solved.

ALSO tried
========
Downloading sources php4-mysql (latest source 4.3.10-15) and compiling
(buildpackage). mysql.so obtained had the same trouble as the binary
included with php4-mysql (4.3.10-16)

KERNEL
=======
Linux 2.6.8-1-686

RELATED Packages Installed
======================
php4           4.3.10-16      server-side, HTML-embedded scripting languag
php4-cgi       4.3.4-4        A server-side, HTML-embedded scripting langu
php4-cli       4.3.10-16      command-line interpreter for the php4 script
php4-common    4.3.10-16      Common files for packages built from the php
php4-gd        4.3.10-16      GD module for php4
php4-mhash     4.3.10-16      MHASH module for php4
php4-mysql     4.3.10-16      MySQL module for php4
php4-pear      4.3.10-16      PEAR - PHP Extension and Application Reposit

apache-common  1.3.33-6sarge1 support files for all Apache webservers
apache-dev     1.3.33-6sarge1 development kit for the Apache webserver
apache-ssl     1.3.33-6sarge1 versatile, high-performance HTTP server with
apache-utils   1.3.31-7       Utility programs for webservers
apache2-common 2.0.54-5       next generation, scalable, extendable web se
apache2-prefor 2.0.54-5       development headers for apache2
apache2-utils  2.0.54-5       utility programs for webservers
libapache-mod- 4.3.8-1        Apache module for MySQL authentication
libapache-mod- 1.0.3-10       A DAV module for Apache
libapache-mod- 0.0.20021209-6 Apache module for non-ascii filename interop
libapache-mod- 4.3.10-16      server-side, HTML-embedded scripting languag
libiconv-hook1 0.0.20021209-6 extension of iconv for libapache-mod-encodin

libc6          2.3.2.ds1-22   GNU C Library: Shared libraries and Timezone
libc6-dev      2.3.2.ds1-22   GNU C Library: Development Libraries and Hea

libmysqlclient 4.0.24-10sarge mysql database client library
libmysqlclient 4.1.11a-4sarge mysql database client library
mysql-client-4 4.1.11a-4sarge mysql database client binaries
mysql-common-4 4.1.11a-4sarge mysql database common files (e.g. /etc/mysql
mysql-server-4 4.1.11a-4sarge mysql database server binaries

phpmyadmin         2.6.2-3            set of PHP-scripts to
administrate MySQL over the WW


Thanks, hope that this info can help.
adrian




More information about the pkg-php-maint mailing list