Nu mai fac alt topic doar pentru asta. Ciudatenie maxima in PHP: am o mica aplicatie in PHP sub IIS in Windows 2022 (face la fel si pe Win 10 sau 2019) care are cateva pagini simple, pagina de start afiseaza linkuri catre celelalte iar restul, cu o exceptie, afiseaza cate un tabel cu cateva linii (sau zeci de linii) si cateva coloane. Una din pagini are tabelul si un buton care face un apel AJAX la server si acolo executa niste chestii in SQL care dureaza peste 30 de secunde.
Dubiosenia e ca daca pagina cu AJAX-ul initiaza executia aia, celelalte pagini nu se mai incarca deloc si dau timeout dupa 30 de secunde. Linia care da eroarea e un require care incarca headerul comun al paginilor, fisier separat cu cateva linii de HTML. Nu are nici o logica ca scriptul server-side care ruleaza cateva minute sa blocheze un require care incarca un fisier chior ce nu are nici o legatura cu restul. Inaintea acelui require e doar un session_start, dupa el sunt diverse alte chestii care difera de la o pagina la alta, dar toate paginile au acelasi comportament. Cand executia e terminata, totul revine la normal. Pagina de start nici macar nu se conecteaza vreodata la SQL, e doar HTML, cu require pentru header.
Si a doua chestie de care abia am dat aseara: am mutat aplicatia de pe un server 2019 pe un 2022 ca sa vad cum merge IIS cu HTTP/2 si TLS 1.3. Desi php.ini are CGI impersonate = 1 si pe ambele recunoaste user name, executia scriptului apelat prin AJAX pe 2019 e facuta pe contul utilizatorului, pe 2022 e pe contul sistem. Chiar am verificat toate setarile, PHP si web.config chiar sunt copiate de pe un computer pe altul. PHP 8.1 de luna asta.