ide-php icon indicating copy to clipboard operation
ide-php copied to clipboard

php-ide crash

Open Kaczuc opened this issue 5 years ago • 8 comments

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

image

settings: image

Kaczuc avatar Dec 17 '20 13:12 Kaczuc

New error image

Kaczuc avatar Dec 17 '20 14:12 Kaczuc

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

donaldinou avatar Jan 15 '21 08:01 donaldinou

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

ErvinSabic avatar Jan 29 '21 02:01 ErvinSabic

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).

Ritotsume avatar Feb 11 '21 13:02 Ritotsume

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)

donaldinou avatar Feb 11 '21 13:02 donaldinou

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.

Ritotsume avatar Feb 11 '21 14:02 Ritotsume

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

LoganTann avatar Jul 18 '21 22:07 LoganTann

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

cricketmon avatar Feb 01 '22 20:02 cricketmon