PhpStorm 2018.2 EAP 182.3458.35

The new PhpStorm 2018.2 EAP build (182.3458.35) is now available! You can download it here or via JetBrains Toolbox App. Or, if you have the previous PhpStorm 2018.2 EAP build (182.3208.33) installed, you should soon get a notification in the IDE about a patch update.

This build delivers new features, bug fixes, and improvements for PHP and the Web, and includes the latest improvements in IntelliJ Platform.

New inspection: Extension is missing in composer.json

We continue improving Composer support, and this time we’ve added a new inspection –Extension is missing in composer.json. The inspection detects the usages of functions, constants, and classes from PHP extensions that are not listed in composer.json.

The best explanation why listing required extensions is a good idea comes from Composer itself:

It is important to list PHP extensions your project requires. Not all PHP installations are created equal: some may miss extensions you may consider as standard (such as ext-mysqli which is not installed by default in Fedora/CentOS minimal installation systems). Failure to list required PHP extensions may lead to a bad user experience: Composer will install your package without any errors but it will then fail at run-time. The show --platform command lists all PHP extensions available on your system. You may use it to help you compile the list of extensions you use and require. Alternatively you may use third party tools to analyze your project for the list of extensions used.

missing_extension

This build brings bug fixes and usability improvements, including these:

  • Unable to deploy from Mac via SFTP to a IPv6-only host WI-42429
  • Unable To “Rerun Failed Tests” Using PHPUnit WI-42594
  • React Native: no completion for native components properties WEB-30850
  • Settings are not synced when using only read-only sources IDEA-149733

See the full list of bug-fixes and improvements in our issue tracker and the complete release notes.

Future plans

Use the board here to view the up-to-date list of the features planned for 2018.2 release, as well as discovered bugs. The list only reflects our current plan and is not final. It may be revised during development since new issues may appear and existing may be re-planned to appear in later versions. Please share your opinions on what is important to you and what would you like to see in the new version!


Download PhpStorm 2018.2 EAP 182.3458.35 for your platform from the project EAP page or click “Update” in your JetBrains Toolbox App. And please do report any bugs and feature request to our Issue Tracker.

Your JetBrains PhpStorm Team
The Drive to Develop

This entry was posted in Early Access Program. Bookmark the permalink.
  • Hy Cường

    How to turn it off?

    • Hy Cường

      Settings > Inspections > PHP > Composer > Extension is missing in composer,json

  • Benjamin Vison

    The only thing I don’t like about these updates is that they don’t really think about people that are using Windows but working on a linux server (VM)…which I think is by far many more than the ones that actually have PHP installed on Windows…

    • Dmitry Tronin

      Could you please clarify why do you think so?

      • Benjamin Vison

        Thank you for your response,

        Here’s my two cents:

        A lot of people are forced due to their work environment to use Windows. However, in the software development reality most of the servers are Linux based. Therefore, if one would like to develop software while maintaining a development environment as close as possible to the one that will be in production you will have to, somehow, put your code to run on a Linux environment (VM, Docker, Vagrant, etc).

        So, keeping in mind this scenario where you only have your IDE on windows but your code + server runs on a Linux environment (let’s assume a VM for this case) the IDE doesn’t help you much with this environment when it comes to performance.

        I am 100% sure that this is NOT always the case, there are people out there using this IDE fully on Windows, therefore I am not saying that this is ALWAYS the case. However, I have stumbled upon many developers, and many threads on the internet regarding performance issues due to the fact that there’s this “special environment” in place.

        So, for example, the first comment in this thread is “How to turn it off?” … and I am almost 100% sure I know why that person commented that.. in my case, when I updated PhpStorm, since I have the environment mentioned above… the first thing the IDE did was to start yelling at me because of a bunch of things were not installed (for example composer extensions)… but that is because my PHP is on my VM..windows has nothing to do with it.. so yea, disabling the inspection did the trick (Even tried setting up the Remote PHP thing, still not supported yet…) but, to answer your question, I am not the product owner of JetBrains/PhpStorm, neither a member of the development team, but I would personally like to see improvements, before anything else, on CPU consumption… or better integration with these type of more realistic environments…Indexing is something that really kills my computer with this type of scenarios where the files are on a VM (my team and I have spent countless hours trying to improve performance with no avail).. the IDE can very easily chew my i7 to a 100% when indexing, and working in general is really slow compared to having the files on the same OS.

        Another thing that one of my coworkers did is setup the VM with a graphical interface just to run the IDE on Linux… but we can all agree that’s overkill at the end of the day, he gets away with a little more speed at the IDE, but at the end of the day the struggle of having to switch between VM and HOST to perform day to day operations is not worth it to me.

        Anyway, I know this seems like I am discharging some rage at you but I assure you it is not, I am giving my point of view based on my experiences, even if it doesn’t help the improvement of the software maybe someone else going through the same struggles stumble upon this and doesn’t feel alone. I have to admit that despite everything this is the best IDE for our use case (mostly Symfony2) and that we have to suck it up and live with it.

        And of course if you think we are doing something wrong feel free to let me know, because I know I can be wrong as well!

      • Benjamin Vison

        For some reason this got marked as spam…..

        Thank you for your response,

        Here’s my two cents:

        A lot
        of people are forced due to their work environment to use Windows.
        However, in the software development reality most of the servers are
        Linux based. Therefore, if one would like to develop software while
        maintaining a development environment as close as possible to the one
        that will be in production you will have to, somehow, put your code to
        run on a Linux environment (VM, Docker, Vagrant, etc).

        So, keeping
        in mind this scenario where you only have your IDE on windows but your
        code + server runs on a Linux environment (let’s assume a VM for this
        case) the IDE doesn’t help you much with this environment when it comes
        to performance.

        I am 100% sure that this is NOT always the case,
        there are people out there using this IDE fully on Windows, therefore I
        am not saying that this is ALWAYS the case. However, I have stumbled
        upon many developers, and many threads on the internet regarding
        performance issues due to the fact that there’s this “special
        environment” in place.

        So, for example, the first comment in this
        thread is “How to turn it off?” … and I am almost 100% sure I know why
        that person commented that.. in my case, when I updated PhpStorm, since
        I have the environment mentioned above… the first thing the IDE did
        was to start yelling at me because of a bunch of things were not
        installed (for example composer extensions)… but that is because my
        PHP is on my VM..windows has nothing to do with it.. so yea, disabling
        the inspection did the trick (Even tried setting up the Remote PHP
        thing, still not supported yet…) but, to answer your question, I am
        not the product owner of JetBrains/PhpStorm, neither a member of the
        development team, but I would personally like to see improvements,
        before anything else, on CPU consumption… or better integration with
        these type of more realistic environments…Indexing is something that
        really kills my computer with this type of scenarios where the files are
        on a VM (my team and I have spent countless hours trying to improve
        performance with no avail).. the IDE can very easily chew my i7 to a
        100% when indexing, and working in general is really slow compared to
        having the files on the same OS.

        Another thing that one of my
        coworkers did is setup the VM with a graphical interface just to run the
        IDE on Linux… but we can all agree that’s overkill at the end of the
        day, he gets away with a little more speed at the IDE, but at the end of
        the day the struggle of having to switch between VM and HOST to perform
        day to day operations is not worth it to me.

        Anyway, I know this
        seems like I am discharging some rage at you but I assure you it is not,
        I am giving my point of view based on my experiences, even if it
        doesn’t help the improvement of the software maybe someone else going
        through the same struggles stumble upon this and doesn’t feel alone. I
        have to admit that despite everything this is the best IDE for our use
        case (mostly Symfony2) and that we have to suck it up and live with it.

        And of course if you think we are doing something wrong feel free to let me know, because I know I can be wrong as well!

        • Vladimir Luchansky

          Thank you very much for such a detailed feedback.

          I totally understand your pain and I can assure you that we are not ignoring such cases. However, when you build something, it is really hard to change the basement when the building is already there.

          PhpStorm and its IntelliJ platform is aimed to work with local files at first as no network protocol can give the same I/O performance and reliability as local disk. Both performance and reliability are required to provide the best code assistance features for your projects. The team is constantly working on improving the experience in all kinds of scenarios but some tasks are more complicated and may take more time.

          Of course, we’d recommend to work with local files at first to get the best experience with PhpStorm. There are various solutions like Docker/Vagrant support or remote PHP interpreter support or seamless synchronization with remote server or VM and our Support team is always there for you to help with configuration or advise.

  • Anuj Sharma

    How to add extensions to composer.json to remove this oddly highlighted warning?

    • http://www.shallop.com/ Micheal Shallop

      I’d like to see the answer to this question as well. If you go to packagist, there’s three pages of pcntl modules listed for composer. None of which need to be installed if you’ve already installed the module which makes the PhpStorm warning completely erroneous.

      Why, Jetbrains, would you implement a “feature” like this, and then blog about it, without fully explaining how to eliminate the warning?!?

      Disabling…geh…

      • Vladimir Luchansky
        • http://www.shallop.com/ Micheal Shallop

          I caught the tip where you can, in PhpStorm, disable the bundled-extension dependency by un-checking the “Require PHP Bundled Extensions” in Settings->Editor->Inspections->PHP->Composer->Extension-is-missing-in-json panel instead of unchecking the option entirely, so +1 for that.

          However, and please feel free to educate me, composer for my project ensures that I obtain 3P vendor libs and keep them current/locked (depending) on my requirements.

          I was gobsmacked with the bundled package raising a warning (when it clearly doesn’t need to) because an extension, bundled with PHP, wasn’t listed in the project’s composer.json. This doesn’t seem like “tail wagging the dog” scenario to you in terms of the relationship between composer and PhpStorm?

          (ftr: I have way more faith in the reliability/stability of PhpStorm over Composer — because three freakin’ pages proc when I search packagist for pcntl based on the PhpStorm’s warning….ok, so which package? If you’re going to hand this level of control/authority over to composer, you might as well go all-in and declare which package you want installed as well.)

          What warning is seen if you’re not incorporating composer into a project, if you choose not to use/integrate composer at all?

          I didn’t vote for the issue because I don’t believe that’s a viable solution for the reasons mentioned above although I did comment that I feel you should leave the “Required PHP Bundled Extensions” off by default because I can see the day when new-hires and jr. devs start making “executive” decisions on which packages to install via composer and the resulting countless debugging hours that’s going to raise as a result.

    • Vladimir Luchansky

      Please see my comment below.

  • dejiakala

    I find this really odd as it’s misleading. PHP provides cURL extension support and it doesn’t always have to be enabled/disabled in composer.json.