Jump to content
php.lv forumi
Sign in to follow this  
Kasspars

Laravel uz windows

Recommended Posts

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?

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Šā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 :)

Share this post


Link to post
Share on other sites

uz Windows nevar  ieslēgt LogLevel tā, ka logojas katrs "elpas ievilciens"?

Edited by ieleja

Share this post


Link to post
Share on other sites

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>

Share this post


Link to post
Share on other sites

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)

 

0CSnNkZ.png

 

Piezīmēšu, ka es izmantoju PHP iebūvēto web serveri.

Share this post


Link to post
Share on other sites

Kaut arī tas neatrisinās problēmu, kāpēc jāveic kaudze pieprasījumu, vai tad nevar vienā visu pajautāt uzreiz?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...