Hi,
At the prestashop root, I have a test.php script with this content
require('./config/config.inc.php'); error_reporting(E_ALL); ini_set("memory_limit", '2048M'); ini_set('default_socket_timeout', -1); set_time_limit(0); ini_set('display_errors', 'on'); $size = pow(2, 18); //2^18 = 262144, 2^17 = 131072 $startTime = microtime(true); $array = array(); for ($key = 0, $maxKey = $size - 1; $key <= $maxKey; ++$key) { $line = ['id' => 55, 'ref_1' => "JKJKJ798798", 'ref_2' => "AKUYT798798", 'id_test' => "TEST798798", 'id_category' => 18, 'desc_long' => "L'investissement immobilier s'avère être une valeur sûre pour de nombreux investisseurs. Que ce soit pour générer des revenus locatifs réguliers ou pour réaliser une plus-value à long terme, la pierre est un placement attractif. Cependant, avant de se lancer, il est essentiel d'étudier attentivement le marché local, de définir un budget précis et d'envisager les éventuels frais liés à l'achat, à la gestion locative et à la fiscalité. L'accompagnement d'un professionnel de l'immobilier peut s'avérer précieux pour prendre les meilleures décisions.", 'desc_short' => "L'investissement immobilier s'avère être une valeur sûre pour de nombreux investisseurs. Que ce soit pour générer des revenus locatifs réguliers ou pour réaliser une plus-value à long terme, la pierre est un placement attractif. Cependant, avant de se lancer, il est essentiel d'étudier attentivement le marché local, de définir un budget précis et d'envisager les éventuels frais liés à l'achat, à la gestion locative et à la fiscalité. L'accompagnement d'un professionnel de l'immobilier peut s'avérer précieux pour prendre les meilleures décisions.", 'wholesale_price' => 1028.510000, 'title' => "Générer des revenus locatifs réguliers", 'personnalisable' => 0, 'statutnum' => 1, 'nb_vu' => 150, 'datecrea' => "2024-09-18 09:25:00", 'dateupd' => "2024-09-18 09:25:00"]; $array[$key] = $line; } $endTime = microtime(true); echo 'Inserting ', $size, ' good elements took ', $endTime - $startTime, ' seconds', "\n";
I run it in command line "php test.php" and I have this error
Quotemmap() failed: [12] Cannot allocate memory
mmap() failed: [12] Cannot allocate memory
Fatal error: Out of memory (allocated 195039232) (tried to allocate 20480 bytes) in /home2/stocketik/public_html/test.php on line 16
No matter if I increase memory_limit, I always get the error.
If I set memory_limit to 128M I have the following error "Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes)" which makes sense.
The strange thing is that if I remove the require line the script runs successfully.
Has anyone ever encountered this problem? How can I solve it ?
Removing the require line is not the solution. I just made this script as a POC and to simplify my problem. In my real scenario I have a script which makes a database request (a select using Db::getInstance()->executeS($sql_select)) and it crashs.
For further information, I'm using PS 1.7 and PHP 7.0. I also tried with PHP 8 and same problem.