[Laravel] Gezocht: oorzaak Laravel Glide's empty $_GET

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • afraca
  • Registratie: April 2009
  • Laatst online: 13-08 16:46

afraca

Open Source!

Topicstarter
Ik heb hier een Laravel installatie, dat werkt lokaal allemaal helemaal happy. Maar met overbrengen naar VPS gaat een klein dingetje fout.

We gebruik Laravel Glide (https://github.com/freekmurze/laravel-glide/tree/1.0.0) voor serveren van lokale images. Die gebruikt "signed" urls, maar hij geeft een exception dat er geen "s" parameter in de Request aanwezig is.

Hier om precies te zijn:
https://github.com/thephp...rc/Http/Signature.php#L43

In eerste instantie keek ik naar hoe zo'n Request object aangemaakt werd:
http://symfony.com/doc/cu...ndation/introduction.html

Dus gewoon lekker die superglobals bij elkaar harken, en Request object maken. Maar als we daar een tussentijdse dump doen van de $_GET, is die leeg. :? Elders in de applicatie, tenminste later, in onze eigen routes, is $_GET meestal prima gevuld. (Al gebruiken we daar natuurlijk Input::get('key') )

Waarom is er tussentijds zo'n probleem met dat Request object, en waarom alleen op de VPS.....

We dachten in eerste instantie aan probleem met de rewrite rules in de .htaccess, dat gebeurt immers alleen op de server. Maar dan zouden we zelf ook niet bij $_GET kunnen komen.

Verder graven brengt ons bij de Laravel Glide service provider. Hier krijgen we de $request:
zie edit

Maar, waarom faalt dat opeens!?! 8)7

edit: Excuses voor de verkeerde link naar hoe request gemaakt word!! Juiste:
https://github.com/freekm...deServiceProvider.php#L32

[ Voor 8% gewijzigd door afraca op 18-05-2015 22:27 ]

IMDB vote history | Next-gen OS, audio en video player, search engine en Movie DB


Acties:
  • 0 Henk 'm!

  • Barryvdh
  • Registratie: Juni 2003
  • Laatst online: 14:10
Dus als je de hele $_GET dumpt, zit hij daar ook niet in? Misschien de $_SERVER ook dumpen om te kijken of er iets raars in zit?
Kwam ooit soortgelijk issue tegen: https://github.com/barryvdh/laravel-elfinder/issues/19
Maar dat kwam door Nginx configuratie, jij gebruikt Apache toch?

Acties:
  • 0 Henk 'm!

  • afraca
  • Registratie: April 2009
  • Laatst online: 13-08 16:46

afraca

Open Source!

Topicstarter
Ik had hier echt enorme response geschreven over de verschillende aanpakken, om alvast wat dingen uit te sluiten. Net voordat ik wilde gaan posten om toch maar op antwoord te wachten, kwam ik op een idee.....

Met Glide geef je eigenlijk lokaal pad mee in de url. Maar die kwam ergens url_encoded langs. Dat ging dus helemaal niet goed..... Als ik die gewoon url_decode dan gaat het goed. (test url's gaven nu een signature mismatch, maar dat is te verwachten)

Vraag blijft: Waarom vind Apache dat niet leuk maar de php built-in webserver wel?

edit: Ik kwam even dit tegen:
http://blog.lunatech.com/...Apachemodrewritecorrectly

Maar omdat ik zelden in mijn leven met htaccess bestanden werk weet ik niet hoe dit te porten naar die Laravel config.
Enkel die
code:
1
2
# This is required if we want to allow URL-encoded slashes a path segment
AllowEncodedSlashes On


Toevoegen geeft me interne server errors.

[ Voor 28% gewijzigd door afraca op 19-05-2015 18:25 ]

IMDB vote history | Next-gen OS, audio en video player, search engine en Movie DB