Edit report at https://bugs.php.net/bug.php?id=73002&edit=1
ID: 73002
Comment by: davereddy at shaw dot ca
Reported by: lzsiga at freemail dot c3 dot hu
Summary: bigendian64/php7/oci8: output bind-variables doesn't
work
Status: Open
Type: Bug
Package: OCI8 related
Operating System: 64-bit / BigEndian
PHP Version: 7.*
Block user comment: N
Private report: N
New Comment:
I missed your request for an example.
Please see the unit test embedded with the distribution (it fails):
ext/oci8/tests/bind_boolean_1.phpt
Previous Comments:
------------------------------------------------------------------------
[2018-08-30 09:05:04] lzsiga at freemail dot c3 dot hu
Hi Dave
Please provide an example regarding the problem of boolean values.
------------------------------------------------------------------------
[2018-08-29 20:21:11] dave dot reddy at enbridge dot com
Although this fixes the binding of numeric values, binding of boolean variable is still broken with
this fix.
------------------------------------------------------------------------
[2018-02-13 20:17:18] dave dot reddy at enbridge dot com
This patch appears to have fixed the issue for us as well. AIX 7.1, 64bit, PHP 7.2.1, running
fast-cgi daemons.
------------------------------------------------------------------------
[2017-12-04 09:53:59] lzsiga at freemail dot c3 dot hu
Latest patch works with PHP-7.2.0 too.
Also I created a little graph to illustrate the problem (i.e. the difference between big-endian and
little-endian, when it comes to mixing 32-bit and 64-bit)
0x1234 in eight byte
little endian
+----+----+----+----+----+----+----+----+
| 34 , 12 ; 00 , 00 | 00 , 00 ; 00 , 00 |
+----+----+----+----+----+----+----+----+
interpreted as int32: 0x00001234
<------------------>
interpreted as int64: 0x0000000000001234
<--------------------------------------->
big endian
+----+----+----+----+----+----+----+----+
| 00 , 00 ; 00 , 00 | 00 , 00 ; 12 , 34 |
+----+----+----+----+----+----+----+----+
interpreted as int32: 0x00000000
<------------------>
interpreted as int64: 0x0000000000001234
<--------------------------------------->
big endian
+----+----+----+----+----+----+----+----+
| 00 , 00 ; 12 , 34 | 00 , 00 ; 00 , 00 |
+----+----+----+----+----+----+----+----+
interpreted as int32: 0x00001234
<------------------>
interpreted as int64: 0x0000123400000000
<--------------------------------------->
------------------------------------------------------------------------
[2017-10-29 15:09:04] lzsiga at freemail dot c3 dot hu
New patch added for 7.1.11; usage:
cd /usr/local/src/php-7.1.11; patch -p0 <oci8_statement.patch
------------------------------------------------------------------------
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=73002
--
Edit this bug report at https://bugs.php.net/bug.php?id=73002&edit=1