Hy У меня проблема с простой функцией
function gettable($ART, $OP, $CONTO){
include ('../conn/db.php');
$sql = "SELECT T1.field1, T3.field2, T1.field3, T1.field4, T1.field5, T1.field6, T1.field7, T1.field8, T1.field9, T1.field10 FROM ";
$sql .="(SELECT T3.field11, T3.field12, T3.field2 FROM FILE3 T3 WHERE T3.field12 = :art) AS T3 right JOIN ";
$sql .="(SELECT T4.field13, T4.field14, T4.field3, T4.field6, T4.field7, T6.field8, T6.field15, T6.field16, T6.field17, T4.field9, T4.field10, T5.field18, T5.field4, T5.field5, T4.field19, T4.field20 ";
$sql .="FROM FILE4 T4, FILE5 T5, FILE6 T6 WHERE ((T4.field3 = T5.field18) and (T4.field3 = T6.field21))) AS T1 ON T1.field3 = T3.field11 WHERE T1.field13 = :nOP AND T1.field15 = :conto AND T1.field16='888' AND T1.field17='M' ";
$stmt = $pdoConnection->prepare($sql);
$stmt->bindValue(':art', $ART);
$stmt->bindValue(':nOP', $OP);
$stmt->bindValue(':conto', $CONTO);
$stmt->execute();
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
return $results;
}
conn / db. php
$pdoConnection = new PDO("odbc:iSeries") ;
odb c .ini
> [iSeries]
Description = database iSeries
Driver = iSeries Access ODBC Driver
System = 192.168.2.3
UserID = myuser
Password = mypass
Naming = 0
DefaultLibraries = mylib
Database =
CommitMode = 2
ConnectionType = 1
BlockFetch = 1
BlockSizeKB = 512
в коде отладки останавливается на этой строке
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
это журнал apache2
[Wed Feb 12 16:40:40.749093 2020] [:error] [pid 9641] [client 192.168.2.83:5071] PHP Fatal error: Allowed memory size of 838860800 bytes exhausted (tried to allocate 4294967296 bytes) in /var/www/html/.......
- впервые, когда у меня появляется эта ошибка (почему функция пыталась выделить немного памяти? ) apache2 работает на Ubuntu 18.04 с php5 .6 спасибо