Utilisez le framework phalcon pour effectuer la requête suivante
public function getCarSeriesList($brandId, $start = 0, $count = 1000){
$phql = "SELECT cs.*, b.* FROM Test\Common\Models\Entities\CarSeries cs LEFT JOIN Test\Common\Models\Entities\CarBrands b ON cs.brandId = b.id ";
$condition = array();
if(!empty($brandId)){
$phql .= " WHERE cs.brandId = ?0 ";
$condition[0] = $brandId;
}
$phql .= " ORDER BY cs.name_en ASC ";
if(!empty($count)){
$phql .= " LIMIT ?1, ?2";
$condition[1] = $start;
$condition[2] = $count;
}
$result = $this->modelsManager->executeQuery($phql, $condition);
return $result->toArray();
}
Le résultat est que le processus php-fpm a signalé une erreur :
27/06/2017 17:07:49 [erreur] 60709#0 : *1028 FastCGI envoyé dans stderr : "Message PHP : erreur fatale PHP : taille de mémoire autorisée de 536870912 octets épuisée (tentative d'allouer 532692992 octets) dans /Users /tester/www/testserver/apps/backend/controllers/CarSeriesController.php en ligne 27" lors de la lecture de l'en-tête de réponse depuis l'amont, client : 127.0.0.1, serveur : local.test.me, requête : "GET /series HTTP/1.1 ", en amont : "fastcgi://127.0.0.1:9000", hôte : "admin.local.test.me"
La valeur de memory_limit dans php.ini a été modifiée de 128 Mo à 512 Mo, mais ce problème existe toujours. Avez-vous déjà rencontré des problèmes similaires ?
1. Ce n'est pas un problème avec phalcon mais avec PHP. 2. Les données interrogées sont trop volumineuses. Tout charger dans la mémoire provoquera certainement cette erreur. 3. Vous pouvez passer ini_set("memory_limit", "-1". ); à résoudre cependant. . . . En tant que projet en ligne, cela n'est absolument pas recommandé. 4. La quantité de données détectées en une seule fois est trop importante. Vous devez optimiser votre programme au lieu de modifier certains paramètres du système.