Skip to content
This repository has been archived by the owner on Dec 15, 2022. It is now read-only.

php-ide crash #160

Open
Kaczuc opened this issue Dec 17, 2020 · 8 comments
Open

php-ide crash #160

Kaczuc opened this issue Dec 17, 2020 · 8 comments

Comments

@Kaczuc
Copy link

Kaczuc commented Dec 17, 2020

When he wants to edit a file with the extension php he gets this message

image

settings:
image

@Kaczuc
Copy link
Author

Kaczuc commented Dec 17, 2020

New error
image

@donaldinou
Copy link

donaldinou commented Jan 15, 2021

Related to the package netresearch/jsonmapper as a dependency from felixfbecker/language-server.
It is required as follow: "netresearch/jsonmapper": "^1.0" .
Regarding to the composer.lock it has been released with the v1.4.0 but many fixes on 1.x branch exists now (last release is 1.6.0)

So the solution is to do a composer update or force >=1.6.0 on the root package and then composer install.
Finally, republish the plugin.

Related to the pull request:
#158

@ErvinSabic
Copy link

Can confirm this bug. Happened right after I updated to PHP 8.
image

@Ritotsume
Copy link

Ritotsume commented Feb 11, 2021

Can confirm this bug. Happened right after I updated to PHP 8.
image

I fixed this in this way:

Open JsonMapper.php (I use Archlinux):
$HOME/.atom/packages/ide-php/vendor/netresearch/jsonmapper/src/JsonMapper.php

And change this on line 300:

// Turn this...
if ($type !== '' && $type{0} != '\\') {

// Into this...
if ($type !== '' && $type[0] != '\\') {

Restart Atom and the error is gone. For me worked. I hope this help you.

Edit:
Only remember of change things properly later, like @donaldinou say above (via composer update).

@donaldinou
Copy link

Can confirm this bug. Happened right after I updated to PHP 8.

You can fix this way but you’re changing an old vendor library. There are other fixes of you just use composer to update the plugin on the « riche way » (composer update)

@Ritotsume
Copy link

Can confirm this bug. Happened right after I updated to PHP 8.

You can fix this way but you’re changing an old vendor library. There are other fixes of you just use composer to update the plugin on the « riche way » (composer update)

Yes, you're right. That was only a workaround, becouse I got a lot of other errors related to PHP version.

Again, you're right. For the questions of time, I used that workaround. Later, I will use the right way.

@LoganTann
Copy link

I still have the same error.
I'm pasting it for SEO :

DEBUG The xdebug extension is not loaded
DEBUG Listening on STDIN
PHP Fatal error: Array and string offset access syntax with curly braces is no longer supported in /home/logan/.atom/packages/ide-php/vendor/netresearch/jsonmapper/src/JsonMapper.php on line 300
PHP Fatal error: Array and string offset access syntax with curly braces is no longer supported in /home/logan/.atom/packages/ide-php/vendor/netresearch/jsonmapper/src/JsonMapper.php on line 300

@cricketmon
Copy link

My solution was this after upgrading to php@8:

-Visit https://github.com/cweiske/jsonmapper
-Go to src/JsonMapper.php ( there u will see a 'Add support for PHP 8.0' banner =) )
-Copy the entire getFullNamespace (line 329 to 341)

Till the pull request its done officially this will do the job perfectly
#158

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants