Skript padá během vytváření containeru

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
maral
Člen | 25
+
0
-

Zdravím, po upgradu na Nette 2.4 a uploadu na Active24 hosting mi Nette klekne, aniž by o sobě dalo vědět, na stránce se zobrazí hláška:

Chyba pri vyrizovani pozadavku

Server nevratil zadnou webovou stranku, kterou by bylo mozne zobrazit.
Pravdepodobna pricina teto chyby je ve scriptu, ktery webovou stranku generuje.

Vyzkoumal jsem, že bootstrap.php proběhne v pořádku až po řádek:
$container = $configurator->createContainer();
Tedy během vytváření kontejneru nastane jakási chyba. Napadá mě přetečení paměti. Jistý si s tím ale nejsem, a už vůbec netuším, co s tím lze dělat. Konstanta memory_limit má hodnotu ‚256M‘ (víc na hostingu nejde nastavit).

Jak lze tuto chybu odladit?

Editoval maral (7. 10. 2016 14:19)

Michal Hlávka
Člen | 190
+
0
-

Zapnout si error_reporting

Editoval emptywall (7. 10. 2016 14:25)

maral
Člen | 25
+
0
-

Žádný efekt, error_reporting tam byl i předtím. Teď jsem pro jistotu zapnul následující:

ini_set('display_startup_errors', 1);
ini_set('display_errors', 'On');
error_reporting(E_ALL);

A stále stejný problém.

Michal Hlávka
Člen | 190
+
0
-

Podivej se do administrace hostingu, jestli nemanipuluje s error_reportingem on.

maral
Člen | 25
+
0
-

Vypsal jsem si hodnoty pomocí phpinfo(); a všechny se přenastavily správně, jak měly být. Nebo myslíš ještě něco jiného?

Michal Hlávka
Člen | 190
+
0
-

No nejsem si jistej, jak hosting manipuluje s error reportingem, ale vim, ze v administraci nektere hostingy tohle nastaveni maji a muzou sahat az do nastaveni apache. Podivej se tam, jestli to nemas vypnuty.

maral
Člen | 25
+
0
-

Myslím, že na našem hostingu nic podobného není (prolustroval jsem to několikrát), maximálně lze v administraci změnit .htaccess, ale ani v něm nic závadného není.

Michal Hlávka
Člen | 190
+
0
-

Muzes sem poslat phpinfo s kategorii core?

maral
Člen | 25
+
0
-

Jistě, tady.

David Grudl
Nette Core | 8082
+
0
-
  • na lokále se stejnou verzí PHP to funguje?
  • pouštíš to v debug režimu nebo produkčním?
  • loguje se něco?
  • je tam nějaká opcode cache, xcache, …?
maral
Člen | 25
+
0
-

David Grudl napsal(a):

  • na lokále se stejnou verzí PHP to funguje?

Na lokále mám PHP 5.6.16, na serveru 5.6.26 – případně můžu upgradovat na lokále a otestovat, ale nezdá se mi pravděpodobné, že by novější verze fungovala hůř.

  • pouštíš to v debug režimu nebo produkčním?

Pouštěl jsem v produkčním (byť jsem si myslel, že jde o debug), nicméně v debug režimu nastává stejná chyba.

  • loguje se něco?

Nic.

  • je tam nějaká opcode cache, xcache, …?

Dle phpinfo, Opcode:
Opcode Caching = Up and Running
Optimization = Enabled
Startup = OK

XCache pravděpodobně ne, v phpinfo jsem nenašel.

Editoval maral (7. 10. 2016 16:19)

David Grudl
Nette Core | 8082
+
0
-

Že jde o chybu vyčerpání paměti by Tracy v debug režimu měla vypsat do stránky.

No asi bych teď zkusil vypnout tu opcode cache, jestli to pomůže.

maral
Člen | 25
+
0
-

Bohužel, vypnutí opcode cache opět nic nezměnilo.

Každopádně děkuji všem zúčastněným za pomoc. Naštěstí nejde o akutní věc, jedná se pouze o dev server. Napsal jsem taky na podporu webhostingu, třeba budou mít s touto magickou chybou nějaké zkušenosti. Za každý další nápad budu vděčný.

maral
Člen | 25
+
0
-

Tak update k této chybě. Administrátoři hostingu to vyřešili, tady je jejich odpověď:

administrátoři prověřili server a v logu apache bylo zjištěno toto:

[Fri Oct 14 12:12:51 2016] [error] child died with signal 11

Zkusili jsme vypnout rozšíření sohosin pro celé php 5.6 a to vypadá, že pomohlo. Pouze zapnutí paramentru sohosin.simulation nepomohlo.

Pravděpodobně se nejedná o modul, který by byl nutný pro chod webové prezentace.

Díky za pomoc, dedukuji z toho poučení, že když všechno selže a nic se v PHP neloguje, tak se obrátit na apache log (případně administrátory hostingu, když k logu nemáte přístup, tak jako já). Jak došli administrátoři zrovna k rozšíření sohosin, to jsem z toho nedekódoval.

Editoval maral (17. 10. 2016 9:16)

Michal Hlávka
Člen | 190
+
0
-

maral napsal(a):

Tak update k této chybě. Administrátoři hostingu to vyřešili, tady je jejich odpověď:

administrátoři prověřili server a v logu apache bylo zjištěno toto:

[Fri Oct 14 12:12:51 2016] [error] child died with signal 11

Zkusili jsme vypnout rozšíření sohosin pro celé php 5.6 a to vypadá, že pomohlo. Pouze zapnutí paramentru sohosin.simulation nepomohlo.

Pravděpodobně se nejedná o modul, který by byl nutný pro chod webové prezentace.

Díky za pomoc, dedukuji z toho poučení, že když všechno selže a nic se v PHP neloguje, tak se obrátit na apache log (případně administrátory hostingu, když k logu nemáte přístup, tak jako já). Jak došli administrátoři zrovna k rozšíření sohosin, to jsem z toho nedekódoval.

Ja se na to pak koukal taky a je to nejcastejsi pricina sUhosinu kdyz se spatne naconfiguruje. Na netu jsou toho plne thready.