web-dev-qa-db-fra.com

Utilisation d'ini_set ("memory_limit", "-1") et toujours en mémoire insuffisante

Je traite un ancien tableau php de base de données vers une nouvelle base de données. Les fichiers de données .php font au total environ 220 Mo.

J'ai inséré ces lignes dans le script pour qu'il fonctionne correctement:

ini_set("memory_limit", "-1");
set_time_limit(0);

Voici comment j'inclus les produits:

// The exports made by PHPMYADMIN, exported as PHP-Array
require_once 'export/tx_ttproductsv2_products.php';
require_once 'export/tx_ttproductsv2_keyword.php';
require_once 'export/tx_ttproductsv2_keywords_in_products.php';
require_once 'export/tx_ttproductsv2_typebook.php';
require_once 'export/tx_ttproductsv2_typegospel7.php';
require_once 'export/tx_ttproductsv2_typemedia.php';

Lorsque le script essaie de les exiger, j'obtiens cette erreur:

Erreur fatale PHP: Mémoire insuffisante (alloué 880541696) (a tenté d'allouer 469762048 octets) dans ......

J'ai une installation EasyPHP locale exécutée sur x64 Win 7 SP1. J'ai 6 Go de mémoire, Intel i5.

Comment puis-je obtenir PHP pour exécuter tout le script sans l'erreur de mémoire?

19
Mathlight

La limitation de mémoire vient du système d'exploitation, pas de PHP lui-même.

Votre script a alloué 800 Mo et tente d'allouer 500 Mo supplémentaires

Essayez d'exécuter le script sur un système d'exploitation 64 bits avec PHP 64 bits.

17
M.M.