Bug #75013 [Com]: Fatal error: Allowed memory size
| From: | giany at x83 dot org | Date: | Sat, 11 Nov 2017 17:00:33 +0000 |
| Subject: | Bug #75013 [Com]: Fatal error: Allowed memory size | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-212546@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=75013&edit=1
ID: 75013
Comment by: giany at x83 dot org
Reported by: ymtene at gmail dot com
Summary: Fatal error: Allowed memory size
Status: Open
Type: Bug
Package: ODBC related
Operating System: CentOS Linux 7.2.1511 (Core)
PHP Version: 7.1.7
Block user comment: N
Private report: N
New Comment:
Hi,
Any update regarding this issue?
Any workaround?
Previous Comments:
------------------------------------------------------------------------
[2017-08-15 15:22:30] jeroen at vdmi dot nl
Relevant test code:
<?php
$connection = odbc_connect("Driver=MDBTools;DBQ=/var/www/accessdb/Books_be.mdb",
'', '');
$result = odbc_exec($connection, "SELECT * FROM Authors");
while (odbc_fetch_row($result)) {
for ($i = 1; $i <= odbc_num_fields($result); $i++) {
echo "Result is " . odbc_result($result, $i);
}
}
------------------------------------------------------------------------
[2017-08-15 15:18:10] jeroen at vdmi dot nl
This issue also happens to me, but I happen to connect to an MDB (Access) database.
PHP version:
PHP 7.1.4 (cli) (built: Apr 25 2017 03:23:01) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
with Xdebug v2.5.5, Copyright (c) 2002-2017, by Derick Rethans
with Zend OPcache v7.1.4, Copyright (c) 1999-2017, by Zend Technologies
Other versions
libodbc1: 2.3.1-3
unixodbc: 2.3.1-3
unixodbc-dev: 2.3.1-3
libmdbodbc1: 0.7.1-2
I'm able to reproduce it with the following MDB (both tables in it):
http://www.rogersaccesslibrary.com/download3.asp?SampleName=Books.mdb
Error: Allowed memory size of 2147483648 bytes exhausted (tried to allocate 139968689209376 bytes
It might have to do with some field type though. I am able to read some of my tables. I have one
table in my MDB with just 2 text columns and that one reads fine.
------------------------------------------------------------------------
[2017-08-02 17:27:02] cmb@php.net
> the reaosn why you get it with PHP7 is that the stuff allocating
> mekory previously did not use then Zend memory manager and never
> was affected by the limits and now that bug is fixed
> (tried to allocate 140325171494924 bytes)
That would be 140TB!
------------------------------------------------------------------------
[2017-07-31 22:35:43] spam2 at rhsoft dot net
when you get that error your value of -1 is not accepted
php_admin_flag/php_admin_value in any config can't be changed with ini_set() by intention and
when you edit php.ini you pretty sure overlook some vhost specific config
the reaosn why you get it with PHP7 is that the stuff allocating mekory previously did not use then
Zend memory manager and never was affected by the limits and now that bug is fixed
------------------------------------------------------------------------
[2017-07-31 21:59:12] ymtene at gmail dot com
Description:
------------
I have problems executing a sql statement from php7 to a db2 database, here are my configuration
data and error:
PHP version:
PHP 7.1.7 (cli) (built: Jul 6 2017 12:10:28) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.1.7, Copyright (c) 1999-2017, by Zend Technologies
UNIXODBC version:
unixODBC-2.3.1-11.el7.x86_64
iSeriessAccess version:
iSeriesAccess-7.1.0-1.0.x86_64
ERROR:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 140325171494924
bytes) in /var/www/html/test.php on line 19
I try set more memory on php.ini but not work.
Also, I try with set ini_set('memory_limit', '-1'); and dont work.
What can I do to make it work? Any suggestion? I have the same installation in php5.4 and it works
perfect, but now I need run it on php7.
---
From manual page: http://www.php.net/index
---
Test script:
---------------
<?php
//Datos para conexión a db2//
$as_username="username";
$as_password="passwd";
$bd = "ANYDB";
$as_dsn ="DRIVER=iSeries Access ODBC Driver 64-bit;SYSTEM=x.x.x.x;DBQ=$bd";
$as_conn = odbc_connect ($as_dsn, $as_username, $as_password);
if (!$as_conn) {
echo "No existe conexión a la base de datos."; // Error message
}else{
$cadena_sql= "SELECT CAMPO FROM $db.TABLA";
$result = odbc_exec($as_conn,$cadena_sql); //Problem to execute
if ($persona=odbc_fetch_array($result,'')){
...
}else{
...
}
}
?>
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=75013&edit=1