8

I was config success to debug in PHP on VSCode.

My problem is when I run the project it always errors at the function:

protected function getJsonPayload($payload) { $payload = json_decode(base64_decode($payload), true); // If the payload is not valid JSON or does not have the proper keys set we will // assume it is invalid and bail out of the routine since we will not be able // to decrypt the given value. We'll also check the MAC for this encryption. if (! $this->validPayload($payload)) { throw new DecryptException('The payload is invalid.'); } if (! $this->validMac($payload)) { throw new DecryptException('The MAC is invalid.'); } return $payload; } 

... from file: /srv/http/laravelproject/vendor/laravel/framework/src/Illuminate/Encryption/Encrypter.php

I can't debug to breakpoint I was set.

Gif screen record: http://i.imgur.com/6pNkoHe.gif

2
  • Where do you debug? Docker? Vagrant? Want? Commented Jun 21, 2017 at 7:43
  • @TzookBarNoy I debug a function on my controller in Laravel project. I don't use Docket or Vagrant. Commented Jun 21, 2017 at 7:45

4 Answers 4

16

Had the same issue when using Docker with VsCode and xDebug in Laravel.

For anyone interested in a different approach (since Laravel 5.6 there is no optimize command anymore)

Just add the ignore section to your launch.json config.

{ "name": "Listen for XDebug", "type": "php", "request": "launch", "port": 9000, "pathMappings": { "/var/www/html": "${workspaceRoot}", }, // add this "ignore": [ "**/vendor/**/*.php" ] }, 

Solved the issue for me.

Got this from Docker Github Repo

Sign up to request clarification or add additional context in comments.

1 Comment

Dear God this took me hours to find.
5

Your question seems to be a related post to this, which provides a pretty good answer. Also, my question to you is why are you using DecryptException? Laravel has bcrypt(for password hashing) and csrf tokens (form data encryption) that are much easier to use.

For those looking for a quick answer without reading the comments:

Run these commands in Eloquent:

php artisan optimize -> php artisan cache:clear -> composer dump-autoload

8 Comments

You can see this gif.i.imgur.com/6pNkoHe.gif. I don't use DecryptException. I think my error relationship with cookies when login. Your link provides only for setup debug. I know how to debug in VSCode and setup success.
Your image doesn't load - comes up as 404.
This might be a longshot, but hear me out. I had issues using the Voyager package before. First, try running php artisan optimize and see what happens. And then clear cache and cookies in the testing browser.
So, the exception is thrown within VSCode and not when browsing the site? I find that weird.
Anytime!! Wow, I almost didn't think that would work. But yeah, when in doubt, use optimize. It solves A LOT of issues.
|
4

I had the same problem and the accepted answer solved it.

However, if anyone simply wants to dismiss the problem temporarily, rather than getting to the root of it, you can uncheck the "Everything" checkbox at the bottom of the Breakpoints panel of the debug pane, and that will skip over the error.

2 Comments

This also a tips useful. Voted.
This was the only thing that helped me, considering the limitations on my project. Thank you, I'm up and running!
1

On Laravel 5.7, it works for me:

{ "version": "0.2.0", "configurations": [ { "name": "Listen for XDebug", "type": "php", "request": "launch", "port": 9000, "ignore": [ "**/vendor/**/*.php" ] }, { "name": "Launch currently open script", "type": "php", "request": "launch", "program": "${file}", "cwd": "${fileDirname}", "port": 9000, "runtimeExecutable": "/usr/bin/php" } ] } 

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.