Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Symfony][Symfony2] Błąd 500
wiciu010
post 22.06.2015, 10:19:10
Post #1





Grupa: Zarejestrowani
Postów: 195
Pomógł: 0
Dołączył: 29.04.2007

Ostrzeżenie: (0%)
-----


Mam aplikację w Symfony2. Przy wywołaniu akcji, która ma odebrać dane wysłane w formacie JSON z innego serwisu czasami otrzymuję błąd 500. Taka sytuacja powtarza się czasami, mimo, że wysyłane dane są w strukturze takie same a różnią się tylko wartościami. Jak mogę zdiagnozować co powoduje błąd 500? Odpalałem w trybie dev, ale po wejściu w przeglądarkę nie pojawił mi się na dole pasek świadczący, że jestemw tym trybie tylko od razu błąd 500.
Go to the top of the page
+Quote Post
Forti
post 22.06.2015, 10:33:55
Post #2





Grupa: Zarejestrowani
Postów: 655
Pomógł: 73
Dołączył: 2.05.2014

Ostrzeżenie: (0%)
-----


Pokaż jakiś kod, pokaż dane.

Sprawdz logi w app/logs/dev.log.
Symfony w trybie dev pokazuje nawet dokładnie lokalizacje wystąpienia błędu. Sczegółowe informacje.


--------------------
Overwatch24 - najbardziej zaawansowany Polski portal Overwatch od fanów dla fanów.

Fachowo.co

Behance.net/fachowo
Go to the top of the page
+Quote Post
wiciu010
post 22.06.2015, 10:44:28
Post #3





Grupa: Zarejestrowani
Postów: 195
Pomógł: 0
Dołączył: 29.04.2007

Ostrzeżenie: (0%)
-----


Cytat(Forti @ 22.06.2015, 11:33:55 ) *
Sprawdz logi w app/logs/dev.log.


Sprawdzam logi i tam nie ma żadnych komunikatów ERROR, tylko INFO oraz DEBUG. Odnośnie mojego wywołania jest:

Kod
[2015-06-22 11:39:43] request.INFO: Matched route "status_update" (parameters: "_controller": "Ex\CallBundle\Controller\DefaultController::statusUpdateAction", "_route": "status_update") [] []
[2015-06-22 11:39:43] security.INFO: Populated SecurityContext with an anonymous Token [] []
[2015-06-22 11:39:43] request.INFO: Matched route "status_update" (parameters: "_controller": "Ex\CallBundle\Controller\DefaultController::statusUpdateAction", "_route": "status_update") [] []
[2015-06-22 11:39:43] security.INFO: Populated SecurityContext with an anonymous Token [] []


Cytat(Forti @ 22.06.2015, 11:33:55 ) *
Pokaż jakiś kod, pokaż dane.


Dane, które odbieram:

Kod
data => {
   "id":24202,
   "created":1434963469,
   "details":{
      "channel_id":379,
      "dst":"",
      "src":"+48xxxxxx",
      "start":0,
      "end":0,
      "duration":0,
      "operator":"",
      "cost":"0",
      "status":"pending"
     }
},


Cytat(Forti @ 22.06.2015, 11:33:55 ) *
Pokaż jakiś kod, pokaż dane.


Kod, który obsługuje odbiór danych:

  1. public function statusUpdateAction(Request $request)
  2. {
  3. $post = $request->request->all();
  4. $data = json_decode($post['data']);
  5. $em = $this->getDoctrine()->getEntityManager();
  6. if (key_exists('data', $post)){
  7. $virtualNumber = $this->getDoctrine()->getRepository('ExCallBundle:Product')
  8. ->findOneBy(array('channel_id'=>$data->details->channel_id, 'is_active'=>1, 'type'=>'numer'));
  9. if ($virtualNumber && $virtualNumber->getMedia()){
  10. $media = $virtualNumber->getMedia();
  11. }else{
  12. $media = $this->getDoctrine()->getRepository('ExCallBundle:Media')
  13. ->findOneBy(array('channel_id'=>$data->details->channel_id));
  14. }
  15. $call = new History();
  16. $em->persist($call);
  17. $call->setDate(date_create(date('Y-m-d H:i:s', $data->created)))
  18. ->setOperatorId($data->id)
  19. ->setPhoneNumber($data->details->src)
  20. ->setDuration($data->details->duration)
  21. ->setCost(0)
  22. ->setStatus($data->details->status)
  23. ->setMedia($media)
  24. ->setProfile($media->getProfile())
  25. ->setUser($media->getUser());
  26.  
  27. if ($media->getUser()->getType()=='agency' && $virtualNumber){
  28. $call->setAgentNumber($virtualNumber->getAgentNumber()->getNumber());
  29. }
  30. }
  31. $em->flush();
  32. return new Response('ok');
  33. }


Ten post edytował wiciu010 22.06.2015, 10:58:59
Go to the top of the page
+Quote Post
Forti
post 22.06.2015, 11:58:33
Post #4





Grupa: Zarejestrowani
Postów: 655
Pomógł: 73
Dołączył: 2.05.2014

Ostrzeżenie: (0%)
-----


co znaczy "mam 500" ? To co pokazałeś to nie jest wszystko. Jak masz tryb developerski to nawet bez 500 logi są znacznie większe.

1. na pewno uruchamiasz tryb dev?
2. pokaż screen gdy dostajesz tą 500


--------------------
Overwatch24 - najbardziej zaawansowany Polski portal Overwatch od fanów dla fanów.

Fachowo.co

Behance.net/fachowo
Go to the top of the page
+Quote Post
prz3kus
post 22.06.2015, 12:41:27
Post #5





Grupa: Zarejestrowani
Postów: 260
Pomógł: 30
Dołączył: 22.01.2007

Ostrzeżenie: (0%)
-----


pasek debugera może się nie pojawić jeżeli w twigu nie ma kodu HTML
Go to the top of the page
+Quote Post
wiciu010
post 22.06.2015, 14:41:16
Post #6





Grupa: Zarejestrowani
Postów: 195
Pomógł: 0
Dołączył: 29.04.2007

Ostrzeżenie: (0%)
-----


Ok, dzięki za pomoc. Problem został rozwiązany.
Go to the top of the page
+Quote Post
Pyton_000
post 22.06.2015, 16:14:19
Post #7





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Super, a jak?
Go to the top of the page
+Quote Post
Forti
post 22.06.2015, 20:29:27
Post #8





Grupa: Zarejestrowani
Postów: 655
Pomógł: 73
Dołączył: 2.05.2014

Ostrzeżenie: (0%)
-----


Ehh internety... gościu ma problem - opisuje i się produkuje. Ludzie chcą pomóc i poświęcają swój czas. A potem nagle "problem rozwiązany". No super.

To teraz dla innych powiedz co się stało - może ktoś kiedyś będzie miał podobny problem i właśnie tutaj znajdzie rozwiązanie.


--------------------
Overwatch24 - najbardziej zaawansowany Polski portal Overwatch od fanów dla fanów.

Fachowo.co

Behance.net/fachowo
Go to the top of the page
+Quote Post
wiciu010
post 29.06.2015, 18:41:33
Post #9





Grupa: Zarejestrowani
Postów: 195
Pomógł: 0
Dołączył: 29.04.2007

Ostrzeżenie: (0%)
-----


Cytat(Forti @ 22.06.2015, 21:29:27 ) *
Ehh internety... gościu ma problem - opisuje i się produkuje. Ludzie chcą pomóc i poświęcają swój czas. A potem nagle "problem rozwiązany". No super.

To teraz dla innych powiedz co się stało - może ktoś kiedyś będzie miał podobny problem i właśnie tutaj znajdzie rozwiązanie.


Masz rację sorry.

No więc okazało się, że sama logika w kontrolerze była dobra. Problem polegał na tym, że błąd był w zapytaniu sql. Sprawdziłem logi w app/logs/dev.log i od razu znalazłem rozwiązanie.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 13.06.2025 - 06:17