Bonjour j'ai créer mon application en local avec laravel 6, mysql 8.0.10, php 7.0.10 j'utilise les procédures stocée pour extraire et analysé les données sans problème. Depuis hier lorsque j'ai basculé mon projet en production j'ai mis la base de données sur un VPS et les fichiers laravel sur un shared hosting hors du VPS. j'arrive bien à me connecté et toutes les requettes faites aec DB::select ou autres passent très le seul problème je rencontre c'est lorsque je veux appeler une procédure stocké cela me renvoi l'erreur 500
NB je rappelj'a déjà augmenté la taille du php_memory_execution à plus de 512M et autres valeurs du php.ini d'après certains recherches sur google et cela n'a toujours résolu mon problem pourtant en local tout fonctionne
public function getDataDashboard(){
try{
$result['listePrescripteur'] = DB::select(DB::raw("CALL getAllPrescripteurAndTotalPatient()"));
return response()->json([
'data' => $result,
'error' => false
],200);
}catch (\Exeption $e){
return response()->json([
'messages' => $e->getMessage(),
'error' => true
],200);
}
}
Ce que je veux
récupérer les résultats de ma procédure stockée
Ce que j'obtiens
{message: "Allowed memory size of 536870912 bytes exhausted (tried to allocate 1701606784 bytes)",…}
exception: "Symfony\Component\ErrorHandler\Error\FatalError"
file: "/home/trademot/public_html/vendor/laravel/framework/src/Illuminate/Database/Connection.php"
line: 336
message: "Allowed memory size of 536870912 bytes exhausted (tried to allocate 1701606784 bytes)"
trace: []
Bonjour Perrot01
merci de trouver ma procédure
BEGIN
SELECT
count(*) AS total,
(CASE
WHEN e.description IS NULL OR e.description = '' THEN CONCAT(e.examen,'-',e.code_examen) ELSE CONCAT(e.examen,' - ',e.code_examen,' (',e.description,')')
END) AS Examen
FROM
oxygen_request_analyses AS r
INNER JOIN oxygen_examens AS e ON r.oxygen_examens_id = e.id
WHERE e.status='active'
GROUP BY
oxygen_examens_id ORDER BY total ASC;
END
je rappel que cette procédure passe sans problème en local
dans phpmyadmin sur le serveur de production cele s'execute normalement et je reçoit 6 enregistrements
ce que je constate c'est que si je fais ceci : $result['resp'] = DB::select('select from users'); cela va fonctionner à merveille par contre si je lemet dans une procédures stckée
DROP PROCEDURE get_users
;
CREATE DEFINER=root
@localhost
PROCEDURE get_users
() NOT DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER BEGIN
SELECT FROM users;
END
j'aaurai plutôt une erreur 503 quelqu'un a déjà eu ce problem?
Merci