Aplikace v Nette 2.0.10 – chyba 500

kejlicz
Člen | 201
+
0
-

Ahoj všichni.

Prosím o radu. Klientka má starou Nette aplikaci ( 2.0.10 ) běžící na PHP 5.4.45 na VPS lokálního poskytovatele. Klientka to chce přesunou jinam. Zkusil jsem první Wedos, kde mají tuhle verzi PHP. Mám zapnuté logování PHP chyb, debug mód a stále dostávám chybu 500 a v logu nic není. I když úplně smažu htaccess. K té chybě dochází někde, když se načítají třídy

$configurator->createRobotLoader()
	->addDirectory(__DIR__)
	->addDirectory(__DIR__ . '/../libs')
	->register();

Nějak nevím, kde mám hledat, čím by to mohlo být.

Jak by jste postupovali Vy?

Díky za pomoc.

CZechBoY
Člen | 3608
+
0
-

500 je od webserveru nebo nette laděnka?

kejlicz
Člen | 201
+
0
-

CZechBoY napsal(a):

500 je od webserveru nebo nette laděnka?

web server

CZechBoY
Člen | 3608
+
0
-

a v logu webserveru je co?

kejlicz
Člen | 201
+
0
-

CZechBoY napsal(a):

a v logu webserveru je co?

Původně jsem to zkoušel na Savaně, protože jsem myslel, že to chce PHP 5.3, které mám u jednoho starého účtu. Tam to dělalo to samé. tak jsem to řešil s podporou a dobrali jsme se k tomu, že je to chyba webserveru a že se to nedá pořádně zjistit.
Pak jsem si ale všiml, že půdovní VPS má PHP 5.4.45, tak jsem to dal na ten wedos a předpokládal jsem, že tam ty logo webserveru taky nebudou, když je to obyč hosting. Teď jsem ale koukal, že to u nich jde zapnout. Zapnul jsem to tedy a logy by měly být přístupné přes FTP v adresáři logs/errorlog, jenže já tam ten adresář ani po půl hodině nemám.
Ještě uvedu, že to dělám na hostingu u wedosu, ale nepřistupuju k tomu přes doménu, ale přes interní asresu http://xxxx.xxx.wedos.ws/....... , pokud by to mohlo mít nějaký vliv. Když tam ale vytvořím třeba v rootu php soubor, tak se normálně provede, takže by to mělo fungovat.

Asi mám zkusit napsat na podporu, co?

Editoval kejlicz (9. 11. 2018 17:14)

CZechBoY
Člen | 3608
+
0
-

Na wedosu se prihlas na hlavni ftp ucet a dostan se na nejvyssi moznou uroven. Potom by tam mela byt ta slozka logs atd.

kejlicz
Člen | 201
+
0
-

Máš pravdu. Nedošlo mi, že tam musím přes hlavní FTP účet. Access i Error logy normálně fungují, ale při spouštění Nette aplikace a vyhození chyby 500 v logu nic nepřibude.

kejlicz
Člen | 201
+
0
-

Ještě jsem si uvědomil možná důležitou věc, že webová aplikace dřív běžela na IIS a teď se jí snažím rozběhat na Apache. Jestli to nemůže mít třeba nějaký speciální nastavení.

kejlicz
Člen | 201
+
0
-

Zkusil jsem to hodit i na server, kde je PHP 5.6, jestli to náhodou nepojede. Taky hází chybu 500, ale z asi 10 pokus to jednou 500 nehodilo a hodilo to Laděnku, že došla pamět při zpracování RobotLoader.php na řádku 315, kde je toto

	foreach (@token_get_all($code) as $token) { // intentionally @
			if (is_array($token)) {
				switch ($token[0]) {
				case T_COMMENT:
				case T_DOC_COMMENT:
				case T_WHITESPACE:
					continue 2;

				case $T_NS_SEPARATOR:
				case T_STRING:
					if ($expected) {
						$name .= $token[1];
					}
					continue 2;

				case $T_NAMESPACE:
				case T_CLASS:
				case T_INTERFACE:
				case $T_TRAIT:
					$expected = $token[0];
					$name = '';
					continue 2;
				case T_CURLY_OPEN:
				case T_DOLLAR_OPEN_CURLY_BRACES:
					$level++;
				}
			}

Asi budu muset zkusit odebrat všechny externí třídy, jestli to půjde a pak postupně přidávat.

David Matějka
Moderator | 6445
+
0
-

nemas tam treba mpdf nebo neco podobnyho?

kejlicz
Člen | 201
+
0
-

mpdf tam je. To odstraním jako první. Ale třeba na tomhle serveru mám 256 MB na script. Uvidíme.

David Matějka
Moderator | 6445
+
0
-

a proc jej nemas nainstalovany pres composer?

kejlicz
Člen | 201
+
0
-

Já jsem ten projekt přebral, tak se v tom pomalu rozkoukávám. Composer tam je, ale mPdf je tam natvrdo. Teď to potřebuju dostat do stavu, aby to šlo přenést na jiný server.
Té chyby 500 jsem se po smazání mPdf zbavil. Teď zase zápasím s chybou „No such file or directory“ při pokusu o připojení k DB, ale o tom případně v dalším vlákně :-)

Editoval kejlicz (14. 11. 2018 14:03)