Kasspars Posted September 28, 2015 Report Share Posted September 28, 2015 Ir problēma ar laravel uz windows. Ja ir daudz secīgu pieprasījumu, tad vienā mirklī nenolasās config no .env un attiecīgi errors. Tas notiek pilnīgā randomā Pats izdebugoju līdz Dotenv bilbliotēkai un sapratu, ka pats php/windows gļuko. Precīzāk funkcija getenv vienā mirklī neatgriež vērtību. Kaut kāds fakaps Internetā arī visi vaimanā par šo, bet normāls risinājums nav. Produkcijā, protams, ir linux un tur šādi gļuki nav novērtoti Ir kādam kāds ieteikums? Quote Link to comment Share on other sites More sharing options...
briedis Posted September 28, 2015 Report Share Posted September 28, 2015 Kas tas ir par erroru? Fails nav lasāms? Kas ir daudz secīgi pieprasījumi? 10, 20, 100 ? No viena usera vai vairākiem? Uztaisi divus, trīs .env failus, kur configs load'o randomā vienu :D DotEnv->load('.env_' . rand(1,3)) :D Quote Link to comment Share on other sites More sharing options...
Kasspars Posted September 28, 2015 Author Report Share Posted September 28, 2015 Cik es izdebugoju, tad problēma ir php funkcijā getenv nevis laravel Topiks par laravel, jo to izmanto daudzi un neticu, ka tikai man tāda problēma. Varbūt kāds arī saskāries un var ko ieteikt Quote Link to comment Share on other sites More sharing options...
qwerty Posted September 29, 2015 Report Share Posted September 29, 2015 Virtuālā mašīna nevarētu palīdzēt? Neesmu sen devojis uz windas, bet kādreiz bija Vagrant un citi alike tūļi. Quote Link to comment Share on other sites More sharing options...
briedis Posted September 29, 2015 Report Share Posted September 29, 2015 Tā arī nepateici - kas tad tas ir par erroru (kā google viņu var atrast). Devoju uz windas ar laravel'u vairāk kā gadu - nekas tāds nav novērots. Quote Link to comment Share on other sites More sharing options...
Kasspars Posted September 29, 2015 Author Report Share Posted September 29, 2015 Virtuālā mašīna palīdz, bet gribās atrast risinājumu win mašīnai Briedi, tu nelasi?! 1) funkcija getenv vienā mirklī neatgriež vērtību. 2) getenv netagriež vērtību, tātad netiek nolasīts pareizais config parametrs, piemēram, DB_USER 3) netiek nolasīts DB_USER, nevar pieslēgties pie DB 4) rezultātā pieprasījums beidzas ar neko neizsakošo "Whoops something went wrong". Log failā, protams, kļūda ir, ka nevar pieslēgties pie db Man tas izpaužas šādi 1) Ielādējas lapa 2) Lapa uztaisa 4 ajax requestus 3) viens no šiem request beidzas ar klūdu (nevar pieslēgties pie db) 4) Tas notiek pilnīgā randomā. Ja refreshot lapu, tad kādā 5. reizē būs error (nevar pieslēgties pie db) Te viens links. Ir arī patchi, bet man vairāk interesē ko pašam windows izdarīt, lai negļuko http://stackoverflow.com/questions/31295126/laravel-5-losing-sessions-and-env-configuration-values-in-ajax-intensive-applic Quote Link to comment Share on other sites More sharing options...
briedis Posted September 29, 2015 Report Share Posted September 29, 2015 Šāds apraksts jau labāks, palasot arī resursu - interesants bugs, pats gan neesmu sastapies uz windas, bet acīmredzot citiem sāp, un risinājuma arī, izskatās, ka pagaidām nav :) Quote Link to comment Share on other sites More sharing options...
ieleja Posted September 29, 2015 Report Share Posted September 29, 2015 (edited) uz Windows nevar ieslēgt LogLevel tā, ka logojas katrs "elpas ievilciens"? Edited September 29, 2015 by ieleja Quote Link to comment Share on other sites More sharing options...
Kasspars Posted September 29, 2015 Author Report Share Posted September 29, 2015 Tev varbūt applikācija netaisa daudzus secīgus ajax pieprasījumus, tāpēc arī šī problēma neuzpeld Pamēģini uztaisīt kādus 20 ajax req vienu pēc otra, kurā tiek nolasīta sesijas vērtība. Vismaz vienam no pieprasījumiem būtu jānofeilo - tobiš neatgriezīs sesijas vērtību <script> for (var i = 0; i < 20; i++) { $.get('/testsessionvariable', function(r){console.log(r)}) } </script> Quote Link to comment Share on other sites More sharing options...
briedis Posted September 29, 2015 Report Share Posted September 29, 2015 Man gan ir Yii2 + phpdotenv (lietojums tāds pats, kā laravel, un nekādas problēmas nav ar getenv(DB_USER) (arī vērtībai no sesijas, kas ir failu draiveris) Piezīmēšu, ka es izmantoju PHP iebūvēto web serveri. Quote Link to comment Share on other sites More sharing options...
Wuu Posted September 29, 2015 Report Share Posted September 29, 2015 Kaut arī tas neatrisinās problēmu, kāpēc jāveic kaudze pieprasījumu, vai tad nevar vienā visu pajautāt uzreiz? Quote Link to comment Share on other sites More sharing options...
Kasspars Posted September 29, 2015 Author Report Share Posted September 29, 2015 No 20 req 5 nevarēja nolasīt DB_USERNAME Quote Link to comment Share on other sites More sharing options...
briedis Posted September 29, 2015 Report Share Posted September 29, 2015 Pamēģini iedarbināt php ar built-in serveri. php -S localhost:80 -t public Quote Link to comment Share on other sites More sharing options...
Blitz Posted September 29, 2015 Report Share Posted September 29, 2015 WinCache ieslēgts? Pamēģini izslēgt. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.