Bug #78423 [Asn->Fbk]: ODBC functions work without extension=odbc

From: Date: Sat, 17 Aug 2019 17:59:35 +0000
Subject: Bug #78423 [Asn->Fbk]: ODBC functions work without extension=odbc
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-222297@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=78423&edit=1

 ID:                 78423
 Updated by:         requinix@php.net
 Reported by:        dpfender44 at gmail dot com
 Summary:            ODBC functions work without extension=odbc
-Status:             Assigned
+Status:             Feedback
 Type:               Bug
 Package:            PHP options/info functions
 Operating System:   Windows 10
 PHP Version:        7.4.0beta2
 Assigned To:        cmb
 Block user comment: N
 Private report:     N



Previous Comments:
------------------------------------------------------------------------
[2019-08-17 17:46:25] phpbugreports at gmail dot com

what about compare the output of "php.exe -n -m" and "php-cgi.exe -n -m" so that
you can easily bypass "seems" and "assumptions"

------------------------------------------------------------------------
[2019-08-17 17:41:42] dpfender44 at gmail dot com

It seems that the php-cgi.exe has odbc included, but php.exe does not.

------------------------------------------------------------------------
[2019-08-17 17:36:06] dpfender44 at gmail dot com

For PHP 7.4.0beta2, I removed the php.ini file and the odbc functions still work, but another script
using mysqli_connect fails.
C:\PHP740>php --ini
Configuration File (php.ini) Path: C:\WINDOWS
Loaded Configuration File:         (none)
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

C:\PHP740>

------------------------------------------------------------------------
[2019-08-17 17:19:50] dpfender44 at gmail dot com

C:\WINDOWS\system32>cd \php740

C:\PHP740>php --ini
Configuration File (php.ini) Path: C:\WINDOWS
Loaded Configuration File:         C:\PHP740\php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

C:\PHP740>php -m |findstr odbc

C:\PHP740>php -r "odbc_connect();"

Fatal error: Uncaught Error: Call to undefined function odbc_connect() in Command line code:1
Stack trace:
#0 {main}
  thrown in Command line code on line 1

C:\PHP740>
C:\PHP740>cd \php739

C:\PHP739>php --ini
Configuration File (php.ini) Path: C:\WINDOWS
Loaded Configuration File:         C:\PHP739\php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

C:\PHP739>php -m |findstr odbc

C:\PHP739>php -r "odbc_connect();"

Fatal error: Uncaught Error: Call to undefined function odbc_connect() in Command line code:1
Stack trace:
#0 {main}
  thrown in Command line code on line 1

C:\PHP739>
C:\PHP739>cd \php738

C:\PHP738>php --ini
Configuration File (php.ini) Path: C:\WINDOWS
Loaded Configuration File:         C:\PHP738\php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

C:\PHP738>php -m |findstr odbc
odbc

C:\PHP738>php -r "odbc_connect();"

Warning: odbc_connect() expects at least 3 parameters, 0 given in Command line code on line 1

C:\PHP738>
--PHP script--
<?php
if (!function_exists('odbc_connect'))
{
	echo "<br><br><b>Function odbc_connect does not
exist!</b><br>\n";
	echo "Make sure that php.ini enables extension for odbc.<br>\n";
}
else
{
--------
This error never occurs in 7.3.9RC1 or 7.4.0beta2, only in 7.3.8. Mysterious.  The odbc functions
work properly (odbc_connect, odbc_prepare, odbc_execute, odbc_num_rows) without php.ini enabled for
odbc.  It fails if I disable odbc in 7.3.8.

------------------------------------------------------------------------
[2019-08-17 16:42:54] cmb@php.net

D:\Users\cmb>curl -L -s --output php-7.3.9RC1-nts-Win32-VC15-x64.zip https://windows.php.net/downloads/qa/php-7.3.9RC1-nts-Win32-VC15-x64.zip

D:\Users\cmb>7z x -ophp-7.3.9RC1-nts-Win32-VC15-x64 php-7.3.9RC1-nts-Win32-VC15-x64.zip > nul

D:\Users\cmb>cd php-7.3.9RC1-nts-Win32-VC15-x64

D:\Users\cmb\php-7.3.9RC1-nts-Win32-VC15-x64>php --ini
Configuration File (php.ini) Path: C:\WINDOWS
Loaded Configuration File:         (none)
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

D:\Users\cmb\php-7.3.9RC1-nts-Win32-VC15-x64>php -m | findstr odbc

D:\Users\cmb\php-7.3.9RC1-nts-Win32-VC15-x64>php -r "odbc_connect();"

Fatal error: Uncaught Error: Call to undefined function odbc_connect() in Command line code:1
Stack trace:
#0 {main}
  thrown in Command line code on line 1

------------------------------------------------------------------------


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

    https://bugs.php.net/bug.php?id=78423


--
Edit this bug report at https://bugs.php.net/bug.php?id=78423&edit=1


Thread (19 messages)

« previous php.bugs (#222297) next »