[php-maint] Bug#834579: /usr/bin/php5: php5: when connecting using odbc and later mysqli in the same script i got: Couldn't fetch mysqli
Antonio
bugdebian at wirelessmundi.com
Wed Aug 17 08:36:07 UTC 2016
Package: php5-cli
Version: 5.6.24+dfsg-0+deb8u1
Severity: normal
File: /usr/bin/php5
when using odbc and mysqli in same php process the mysqli api will not work and no errors messages as thrown, only the warning message
"Warning: mysqli::query(): Couldn't fetch mysqli in /root/mysql_phpbug.php on line 36"
Below you can find a simple script that reproduces the problem.
<?php
// when connecting to odbc will make fail all the mysql connections
using_odbc();
//sleep(5);
using_mysqli_obj();
using_mysqli();
function using_mysqli()
{
echo "*** MySQLi \n";
$link = mysqli_connect("localhost", "root", "m1sq7passwd", "tel_app", "3306", "/var/run/mysqld/mysqld.sock");
if (!$link) { echo "Error connecting to MYSQL [".mysqli_connect_errno()."] ".mysqli_connect_error()."\n"; }
else {
$result = @mysqli_query($link, "select count(*) as total from client_limit;");
if (!is_object($result)) {
echo "no results found, error: ".mysqli_error($link)."\n";
}
else {
$tmp = mysqli_fetch_array($result, MYSQLI_ASSOC);
mysqli_free_result($result);
print_r($tmp);
}
if (!mysqli_close($link)) {
echo "Fail to disconnect db link \n";
}
unset($link);
}
echo "***\n";
}
function using_mysqli_obj()
{
echo "*** MySQLi OBJ\n";
$mysqli = new mysqli('localhost', 'root', 'm1sq7passwd', 'tel_app');
if ($mysqli->connect_error) { echo ('Connect Error (' . $mysqli->connect_errno . ') '.$mysqli->connect_error); }
else {
$result = $mysqli->query("select count(*) as total from client_limit;", MYSQLI_USE_RESULT);
if (!is_object($result)) {
echo "no results found, error: ".$mysqli->error."\n";
}
else {
$tmp = $result->fetch_object();
print_r($tmp);
$result->close();
}
$mysqli->close();
}
echo "*** \n ";
}
function using_odbc()
{
echo "*** ODBC \n";
$conn = odbc_connect("localhost_tel_cdr", false, false);
if (!$conn) { echo "fail to connect using odbc ".odbc_errormsg(); }
else {
$res = odbc_exec($conn, "select count(*) as total_cdr from cdr where (start_stamp >= '1470751734' ) and (start_stamp <= '1471356534' );");
if (!$res) {
echo "Fail to execute sql ".odbc_errormsg();
}
else {
$row = odbc_fetch_array($res);
print_r($row);
odbc_free_result($res);
}
odbc_close($conn);
}
echo "***";
}
?>
-- Package-specific info:
==== Additional PHP 5 information ====
++++ PHP 5 SAPI (php5query -S): ++++
fpm
cli
apache2
cgi
++++ PHP 5 Extensions (php5query -M -v): ++++
mysqli (Enabled for fpm by maintainer script)
mysqli (Enabled for cli by maintainer script)
mysqli (Enabled for apache2 by maintainer script)
mysqli (Enabled for cgi by maintainer script)
curl (Enabled for fpm by maintainer script)
curl (Enabled for cli by maintainer script)
curl (Enabled for apache2 by maintainer script)
curl (Enabled for cgi by maintainer script)
mcrypt (Enabled for fpm by maintainer script)
mcrypt (Enabled for cli by maintainer script)
mcrypt (Enabled for apache2 by maintainer script)
mcrypt (Enabled for cgi by maintainer script)
pdo_sqlite (Enabled for fpm by maintainer script)
pdo_sqlite (Enabled for cli by maintainer script)
pdo_sqlite (Enabled for apache2 by maintainer script)
pdo_sqlite (Enabled for cgi by maintainer script)
odbc (Enabled for fpm by maintainer script)
odbc (Enabled for cli by maintainer script)
odbc (Enabled for apache2 by maintainer script)
odbc (Enabled for cgi by maintainer script)
pdo (Enabled for fpm by maintainer script)
pdo (Enabled for cli by maintainer script)
pdo (Enabled for apache2 by maintainer script)
pdo (Enabled for cgi by maintainer script)
mysql (Enabled for fpm by maintainer script)
mysql (Enabled for cli by maintainer script)
mysql (Enabled for apache2 by maintainer script)
mysql (Enabled for cgi by maintainer script)
imap (Enabled for fpm by maintainer script)
imap (Enabled for cli by maintainer script)
imap (Enabled for apache2 by maintainer script)
imap (Enabled for cgi by maintainer script)
ssh2 (Enabled for fpm by local administrator)
ssh2 (Enabled for cli by local administrator)
ssh2 (Enabled for apache2 by local administrator)
ssh2 (Enabled for cgi by local administrator)
opcache (Enabled for fpm by maintainer script)
opcache (Enabled for cli by maintainer script)
opcache (Enabled for apache2 by maintainer script)
opcache (Enabled for cgi by maintainer script)
sqlite3 (Enabled for fpm by maintainer script)
sqlite3 (Enabled for cli by maintainer script)
sqlite3 (Enabled for apache2 by maintainer script)
sqlite3 (Enabled for cgi by maintainer script)
pdo_odbc (Enabled for fpm by maintainer script)
pdo_odbc (Enabled for cli by maintainer script)
pdo_odbc (Enabled for apache2 by maintainer script)
pdo_odbc (Enabled for cgi by maintainer script)
gd (Enabled for fpm by maintainer script)
gd (Enabled for cli by maintainer script)
gd (Enabled for apache2 by maintainer script)
gd (Enabled for cgi by maintainer script)
json (Enabled for fpm by maintainer script)
json (Enabled for cli by maintainer script)
json (Enabled for apache2 by maintainer script)
json (Enabled for cgi by maintainer script)
pdo_mysql (Enabled for fpm by maintainer script)
pdo_mysql (Enabled for cli by maintainer script)
pdo_mysql (Enabled for apache2 by maintainer script)
pdo_mysql (Enabled for cgi by maintainer script)
++++ Configuration files: ++++
[PHP]
zlib.output_compression = On
serialize_precision = 100
expose_php = Off
max_execution_time = 900
max_input_time = 900
memory_limit = 512M
error_reporting = E_ALL
display_errors = On
display_startup_errors = On
html_errors = Off
variables_order = "EGPCS"
request_order = "GP"
register_argc_argv = Off
post_max_size = 512M
enable_dl = On
file_uploads = On
upload_max_filesize = 512M
max_file_uploads = 20
[Date]
[filter]
[iconv]
[intl]
[sqlite]
[sqlite3]
sqlite3.extension_dir = /usr/lib/sqlite3
[Pcre]
[Pdo]
[Pdo_mysql]
pdo_mysql.cache_size = 2000
pdo_mysql.default_socket=
[Phar]
[Syslog]
define_syslog_variables = Off
[mail function]
SMTP = localhost
smtp_port = 25
mail.add_x_header = Off
[SQL]
sql.safe_mode = Off
[ODBC]
odbc.allow_persistent = On
odbc.check_persistent = On
odbc.max_persistent = -1
odbc.max_links = -1
odbc.defaultlrl = 4096
odbc.defaultbinmode = 1
[Interbase]
ibase.allow_persistent = 1
ibase.max_persistent = -1
ibase.max_links = -1
ibase.timestampformat = "%Y-%m-%d %H:%M:%S"
ibase.dateformat = "%Y-%m-%d"
ibase.timeformat = "%H:%M:%S"
[MySQL]
mysql.allow_local_infile = On
mysql.allow_persistent = On
mysql.cache_size = 2000
mysql.max_persistent = -1
mysql.max_links = -1
mysql.default_port =
mysql.default_socket =
mysql.default_host =
mysql.default_user =
mysql.default_password =
mysql.connect_timeout = 60
mysql.trace_mode = Off
[MySQLi]
mysqli.max_persistent = -1
mysqli.allow_persistent = On
mysqli.max_links = -1
mysqli.cache_size = 2000
mysqli.default_port = 3306
mysqli.default_socket =
mysqli.default_host =
mysqli.default_user =
mysqli.default_pw =
mysqli.reconnect = Off
[mysqlnd]
mysqlnd.collect_statistics = On
mysqlnd.collect_memory_statistics = Off
[OCI8]
[PostgresSQL]
pgsql.allow_persistent = On
pgsql.auto_reset_persistent = Off
pgsql.max_persistent = -1
pgsql.max_links = -1
pgsql.ignore_notice = 0
pgsql.log_notice = 0
[Sybase-CT]
sybct.allow_persistent = On
sybct.max_persistent = -1
sybct.max_links = -1
sybct.min_server_severity = 10
sybct.min_client_severity = 10
[bcmath]
bcmath.scale = 0
[browscap]
[Session]
session.save_handler = files
session.use_cookies = 1
session.use_only_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.cookie_httponly =
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
session.bug_compat_42 = Off
session.bug_compat_warn = Off
session.referer_check =
session.entropy_length = 0
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
session.hash_function = 0
session.hash_bits_per_character = 5
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
[MSSQL]
mssql.allow_persistent = On
mssql.max_persistent = -1
mssql.max_links = -1
mssql.min_error_severity = 10
mssql.min_message_severity = 10
mssql.compatability_mode = Off
mssql.secure_connection = Off
[Assertion]
[COM]
[mbstring]
[gd]
[exif]
[Tidy]
tidy.clean_output = Off
[soap]
soap.wsdl_cache_enabled = 1
soap.wsdl_cache_dir = "/tmp"
soap.wsdl_cache_ttl = 86400
soap.wsdl_cache_limit = 5
[sysvshm]
[ldap]
ldap.max_links = -1
[mcrypt]
[dba]
**** /etc/php5/cli/conf.d/20-imap.ini ****
extension=imap.so
**** /etc/php5/cli/conf.d/20-ssh2.ini ****
extension=ssh2.so
**** /etc/php5/cli/conf.d/20-pdo_odbc.ini ****
extension=pdo_odbc.so
**** /etc/php5/cli/conf.d/20-mcrypt.ini ****
extension=mcrypt.so
**** /etc/php5/cli/conf.d/20-json.ini ****
extension=json.so
**** /etc/php5/cli/conf.d/20-pdo.ini ****
extension=pdo.so
**** /etc/php5/cli/conf.d/20-curl.ini ****
extension=curl.so
**** /etc/php5/cli/conf.d/20-mysql.ini ****
extension=mysql.so
**** /etc/php5/cli/conf.d/20-odbc.ini ****
extension=odbc.so
**** /etc/php5/cli/conf.d/20-pdo_sqlite.ini ****
extension=pdo_sqlite.so
**** /etc/php5/cli/conf.d/05-opcache.ini ****
zend_extension=opcache.so
**** /etc/php5/cli/conf.d/20-sqlite3.ini ****
extension=sqlite3.so
**** /etc/php5/cli/conf.d/20-pdo_mysql.ini ****
extension=pdo_mysql.so
**** /etc/php5/cli/conf.d/20-mysqli.ini ****
extension=mysqli.so
**** /etc/php5/cli/conf.d/20-gd.ini ****
extension=gd.so
-- System Information:
Debian Release: 8.5
APT prefers stable
APT policy: (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 4.4.16 (SMP w/2 CPU cores; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages php5-cli depends on:
ii libbz2-1.0 1.0.6-7+b3
ii libc6 2.19-18+deb8u4
ii libcomerr2 1.42.12-1.1
ii libdb5.3 5.3.28-9
ii libedit2 3.1-20140620-2
ii libgssapi-krb5-2 1.12.1+dfsg-19+deb8u2
ii libk5crypto3 1.12.1+dfsg-19+deb8u2
ii libkrb5-3 1.12.1+dfsg-19+deb8u2
ii libmagic1 1:5.22+15-2+deb8u1
ii libonig2 5.9.5-3.2
ii libpcre3 2:8.35-3.3+deb8u4
ii libqdbm14 1.8.78-5+b1
ii libssl1.0.0 1.0.1t-1+deb8u2
ii libxml2 2.9.1+dfsg1-5+deb8u2
ii mime-support 3.58
ii php5-common 5.6.24+dfsg-0+deb8u1
ii php5-json 1.3.6-1
ii tzdata 2016f-0+deb8u1
ii ucf 3.0030
ii zlib1g 1:1.2.8.dfsg-2+b1
Versions of packages php5-cli recommends:
pn php5-readline <none>
Versions of packages php5-cli suggests:
ii php-pear 5.6.24+dfsg-0+deb8u1
Versions of packages php5-common depends on:
ii libc6 2.19-18+deb8u4
ii lsof 4.86+dfsg-1
ii psmisc 22.21-2
ii sed 4.2.2-4+b1
ii ucf 3.0030
Versions of packages php5-common suggests:
pn php5-user-cache <none>
-- no debconf information
More information about the pkg-php-maint
mailing list