Zvláštní chování – obecná chyba 500, přitom Tracy odchytává

nettolog
Člen | 68
+
0
-

Ahoj. Snažím se rozchodit Nette v tomto složení:
nette/sandbox
nginx/1.14.2
PHP 7.3.17

Checker funguje a oznamuje jen warningy ohledně dvou extensions:

Web server	nginx/1.14.2
PHP version	7.3.17-1+0~20200419.57+debian10~1.gbp0fda17
Memory limit	128M
try_files rewrite rules	Enabled
Function ini_set()	Enabled
Function error_reporting()	Enabled
Function flock()	Enabled
Register_globals	Disabled
Variables_order	Enabled
Session auto-start	Enabled
PCRE with UTF-8 support	Enabled
Reflection phpDoc	Enabled
ICONV extension	Enabled and works properly
JSON extension	Enabled
Fileinfo extension	Enabled
PHP tokenizer	Enabled
PDO extension	Available drivers: mysql sqlite
PDO SQLite extension	Enabled
Multibyte String extension	Enabled
Multibyte String function overloading	Disabled
Memcached extension	Disabled
Memcache extension is absent. You will not be able to use Nette\Caching\Storages\MemcachedStorage.
GD extension	Enabled
Bundled GD extension	Disabled
Bundled GD extension is absent. You will not be able to use some functions such as Nette\Image::filter() or Nette\Image::rotate().
Fileinfo extension or mime_content_type()	Enabled
Intl extension	Enabled
HTTP_HOST or SERVER_NAME	Present
REQUEST_URI or ORIG_PATH_INFO	Present
SCRIPT_NAME or DOCUMENT_ROOT & SCRIPT_FILENAME	Present
REMOTE_ADDR or php_uname("n")	Present

Zatím jsem nenastavoval routování v nginxu, takže v url mám standardně /www/index.php. To vrací chybu 500. Log nginxu prázdný, stejně tak log nette (práva jsou 777).

Zvláštní je, že když do index.php přidám phpinfo();:

<?php declare(strict_types=1);
phpinfo();
require __DIR__ . '/../vendor/autoload.php';

App\Bootstrap::boot()
	->createContainer()
	->getByType(Nette\Application\Application::class)
	->run();

Ozve se mi Tracy s chybou:

Tracy\Debugger::dispatch() called after some output has been sent. Output started at /var/www/clients/client0/web1/web/www/index.php

Chápu tu chybu, vypíše se phpinfo(); v době, kdy je to nežádoucí. Ale to by mělo znamenat, že chyby Tracy v pohodě odchytává a problém nenastává někde dřív na úrovni nginxu.
Co je ještě zvláštnější je to, že když si vypnu laděnku, zobrazí se bez phpinfo(); chyba 404 a s phpinfo(); se zobrazí klasicky phpinfo s tracy oknem error 500. Co tam ta chyba 404 dělá?
Poradíte prosím cesty jak toto zdebugovat?
Použávám nginx poprvé, takže bych čekal chybu tam, ale vzhledem k okolnostem a prázdnému error logu to moc nevypadá. Ale zapisovat do error logu nginx může, z jiného projektu tam mám třeba chybu:
2020/04/20 05:01:18 [error] 562#562: *16 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught Error: Call to undefined function mysqli_init() in .../db_mysql.inc.php:83

Editoval nettolog (20. 4. 2020 7:48)

nettolog
Člen | 68
+
0
-

Vyřešeno.

Tak jsem to rozjel na apache, na první pokus se zobrazila tracy s chybou, že neexistuje routa pro request. Tím pádem dává smysl, proč se bez tracy zobrazovala chyba 404 a s tracy 500. Chyba byla tedy na straně nginxu, kdy nějaká direktiva při detekci chyby zobrazovala vlastní chybové stránky.