PhpStorm 2017.2 Early Access Program is Open

Posted on by Anna Lebedeva

Today we start the Early Access Program for PhpStorm 2017.2 (EAP). A fresh build 172.2103 is available for download here and within the JetBrains Toolbox App.

What is Early Access Program?

Early Access Program (EAP) allows you to try pre-release versions of our software to evaluate features that will be added in the next release. It is important to distinguish EAP from traditional pre-release software. Please note that the quality of EAP versions may at times be far below even usual beta standards. If you are looking for a stable version of PhpStorm, please visit our site.


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


If you use Docker Compose, we have good news for you, as PHP interpreter based on Docker Compose is now supported in PhpStorm. Now you don’t have to duplicate all settings, such as volumes, networks, environment variables, etc. from docker-compose.yml inside PhpStorm. Docker Compose based interpreter has all familiar features of remote interpreters. You can run and debug PHP code and execute and debug PHPUnit, Codeception, Behat and PHPSpec tests.

Please note that the feature is not available on Windows yetPY-19251. We are also still working on the support of PHPCS and PHPMD using Docker Compose.

PSR-0/4 root detection from composer.json

PhpStorm is now aware of PSR-0/PSR-4 source roots, and their namespace prefixes declared in autoload section in composer.json. Since composer.json contains the most up-to-date information about project structure, new integration ensures that PhpStorm Source and Test folder exactly match the project structure.


Automatic run of PHPUnit tests

In this build, we’ve added a possibility to re-run PHPUnit test automatically with a specified delay. You can enable auto-run for a particular configuration, set delay and tests will be re-run automatically with specified delay after you stop editing a file.


Unified settings for frameworks

In this release, we’re going to simplify PHP settings. As a first step, we’ve moved all settings for frameworks (Joomla, Drupal, and WordPress) to one settings page which can be found in Settings|PHP|Frameworks. The page now contains combined settings with a unified UI. When the framework is disabled, the corresponding section is hidden to see only relevant settings.


Field declared dynamically warning for fields assigned in constructor but not declared

PhpStorm now will warn you about fields that have been assigned in __construct but not declared inside a class. That will help you to catch typing errors earlier. The behavior of this inspection is controlled by Notify about dynamic field declaration option in Settings|Editor|Inspections|PHP|Undefined Field.


Other features worth noting:

  • Find in Path: gutter icons, local change markers, focus
  • Better HiDPI support: per-monitor, auto-adjusted font-sizes
  • Recursive calls detection in Javascript
  • Parameter hints for TypeScript
  • Code rearranging for Javascript

Apart from new features, this build brings many important bug fixes and usability improvements, including these:

  • Default path for New Project from Existing Files is always “/”: WI-8839
  • Array should be acceptable default type for iterable: WI-33726
  • Many fixes for Return type doesn’t match… inspection: WI-32052WI-31609WI-35094WI-33991
  • @method annotation doesn’t support keywords callable, $this, self and static WI-21935

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

Download PhpStorm 2017.2 EAP build 172.2103 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

Comments below can no longer be edited.

18 Responses to PhpStorm 2017.2 Early Access Program is Open

  1. EspadaV8 says:

    May 11, 2017

    There’s an issue with the ‘Go to File’ feature. Pressing the shortcut (Ctrl-P for me) will rarely bring the floating window up. It usually flashes on screen for a split second. Mashing Ctrl-P usually brings it up in the end (see linked YouTube video)

    • Eugene Morozov says:

      May 11, 2017

      I could reproduce that neither in Linux nor in OS X (not sure which one you’re using).
      Please submit a support ticket and attach the IDE log after reproduction there:

      • EspadaV8 says:

        May 11, 2017

        Sure, I can do that. I’m using Ubuntu 17.04 with GNOME. As is usually the case with trying to reproduce bugs, it now appears to be working. I’ll stay on 2017.2 EAP today and see if it starts happening again. Thanks

  2. Steve H says:

    May 11, 2017

    For anyone else not seeing the new docker compose functionality:

    In order to get the “Docker Compose” option to appear in the “CLI Interpretters”>”+”>”From Docker etc” view I had to disable the “PHP Docker” plugin.

    • Steve H says:

      May 11, 2017

      However… although I can now see the option to use docker-compose.yml I can’t use it because the “PHP Docker” plugin is disabled 🙁

    • Eugene Morozov says:

      May 11, 2017

      What operating system do you use? It should definitely work with the plugin on.

    • ShimmiCZ says:

      May 12, 2017

      Same for me. Reported here:

    • Maxim Kolmakov says:

      May 12, 2017

      Sorry, we forgot to mention that Docker Compose is not available for Windows yet. Please vote for

  3. MilkMan says:

    May 11, 2017

    There’s an issue with the switcher (Ctrl + Tab). It won’t navigate between the latest files (vertically) but will only select the second file or Favorites (horizontally).

    Reported here:

  4. Sebastiaan Stok says:

    May 12, 2017

    Getting “Read access is allowed from event dispatch thread or inside read-action only (see com.intellij.openapi.application.Application.runReadAction())
    Details: Current thread: Thread[ApplicationImpl pooled thread 4,4,Idea Thread Group] 1197418118
    ; dispatch thread: false; isDispatchThread(): false
    SystemEventQueueThread: Thread[AWT-EventQueue-0 2017.2#PS-172.2103.5 PhpStorm, eap:true, os:Mac OS X 10.12.4, java-version:JetBrains s.r.o 1.8.0_152-release-845-b3,6,main] 1667967959

    Tried to send a report getting the following error (macOS)

    And when using the Help search operation menu I’m getting:

    Crashed Thread: 0 AppKit Thread Dispatch queue:

    Exception Type: EXC_BAD_ACCESS (SIGABRT)
    Exception Codes: KERN_INVALID_ADDRESS at 0x00007f854dc78968
    Exception Note: EXC_CORPSE_NOTIFY

    VM Regions Near 0x7f854dc78968:
    Stack 00007000092c1000-00007000093c0000 [ 1020K] rw-/rwx SM=COW thread 57
    MALLOC_SMALL 00007fdfa4000000-00007fdfa4800000 [ 8192K] rw-/rwx SM=PRV

    Application Specific Information:
    abort() called

    • Maxim Kolmakov says:

      May 15, 2017

      Could you please contact our support team: Help->New Support Request we will need some details and logs from you?

      • Sebastiaan Stok says:

        May 22, 2017

        Sorry for the late reply, the log did not show anything useful about the failed report except:

        “2017-05-12 16:36:02,592 [ 35825] INFO – ntellij.diagnostic.ITNReporter – reporting failed: com.intellij.errorreport.error.InternalEAPException: HTTP Result code: 400 ”

        I will try to send more details later today, or at least this week.

        • Vladimir Luchansky says:

          May 24, 2017

          Best would be to discuss this with Support team – submit a request as mentioned above from PhpStorm > Help menu.

  5. Greg says:

    May 12, 2017

    Breadcrumbs seems to be moved from top of the editor to the bottom – is there any way to bring them back to the top?

  6. Rüdiger Scheumann says:

    May 15, 2017

    Shortcut for comment/uncomment does not work anymore on german mac keyboard layout. I was using CMD+- which worked in all previous versions; now in this release it folds code instead.

  7. Alexander Knyn says:

    August 14, 2017

    The new feature “Field declared dynamically warning for fields assigned in constructor but not declared” seems to be buggy.
    It doesn’t recognize if fields are declared in parent classes.

    class A {
    ….protected $test;

    class B extends A {
    ….public function __construct()
    ……..$this->test = true; —> this will be marked as “warning”

    Anyone else having this problem?


Subscribe for updates