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