The Lightning-Smart PHP IDE
PhpStorm deeply
understands your code.
PhpStorm is perfect for working with Symfony, Laravel, Drupal, WordPress, Zend Framework, Magento, Joomla!, CakePHP, Yii, and other frameworks. All the PHP tools The editor actually 'gets' your code and deeply understands its structure, supporting all the PHP language features for modern and legacy projects. PhpStorm is designed for developers who use PHP or PHP-based solutions to develop web applications or CLI scripts. It is suitable for backend, frontend, and full-stack work. PhpStorm supports Git from the Windows Subsystem for Linux 2 (WSL2), which is available in Windows 10 version 2004. Macos mojave download dmg. If Git is not installed on Windows, PhpStorm searches for Git in WSL and uses it from there. Also, PhpStorm automatically switches to Git from WSL for projects that are opened when you use the wsl$ path. PhpStorm takes an extremely long time to run code analysis and inspections on javascript files. PHPStorm 2019.3 slow perfomance, autocomplete and inline validation take between 1 and 5 seconds to complete.
Phpstorm On Linux
Major frameworks support
PhpStorm is perfect for working with Symfony, Laravel, Drupal, WordPress, Zend Framework, Magento, Joomla!, CakePHP, Yii, and other frameworks.
All the PHP tools
The editor actually 'gets' your code and deeply understands its structure, supporting all the PHP language features for modern and legacy projects. It provides the best code completion, refactorings, on-the-fly error prevention, and more.
Front-end technologies included
Make the most of the cutting edge front-end technologies, such as HTML 5, CSS, Sass, Less, Stylus, CoffeeScript, TypeScript, Emmet, and JavaScript, with refactorings, debugging, and unit testing available. See the changes instantly in the browser thanks to Live Edit.
Built-in developer tools
Perform many routine tasks right from the IDE, thanks to the Version Control Systems integration, support for remote deployment, databases/SQL, command-line tools, Docker, Composer, REST Client, and many other tools.
PhpStorm = WebStorm + PHP + DB/SQL
All the features in WebStorm are included into PhpStorm, with full-fledged support for PHP and Databases/SQL support added on top.
Intelligent Coding Assistance
Hundreds of inspections take care of verifying your code as you type, analyzing the whole project. PHPDoc support, code (re)arranger and formatter, quick-fixes, and other features help you write neat code that is easy to maintain.
Phpstorm Line Separator Mix
Smart Code Navigation
Be the master of your codebase thanks to the efficient, lightning-fast navigation features. The IDE understands where you want to go and gets you there instantly.
Fast and Safe Refactoring
Refactor your code reliably with the safe Rename, Move, Delete, Extract Method, Inline Variable, Push members Up / Pull members Down, Change Signature, and many other refactorings. Language-specific refactorings help you perform project-wide changes in a matter of clicks, which can all be safely undone.
Easy Debugging and Testing
PhpStorm is renowned for its zero-configuration Visual Debugger, providing extraordinary insight into what goes on in your application at every step. It works with Xdebug and Zend Debugger, and can be used both locally and remotely. Unit Testing with PHPUnit, BDD with Behat and profiler integration are all also available.
What’s new in PhpStorm 2021.1
Code With Me for pair programming
Code With Me, a new JetBrains service for collaborative development and pair programming, is now bundled with PhpStorm. It allows you to share the project you currently have open in your IDE with others and work on it together in real time.
Phpstorm Online Compiler
Built-in preview for HTML and PHP files
With PhpStorm 2021.1, you can get a live-edit experience out of the box, there is no need to set anything up. It works for HTML and linked CSS, JS files, as well as for simple PHP files which will be rendered with a local PHP interpreter.
New inspections to help detect bugs
Phpstorm Online Editor
PhpStorm adds 20+ new inspections to help prevent possible bugs at early stages. It also comes with quick-fixes to make adjustments to code and small refactorings with one use of Alt+Enter.
Meet the PhpStorm community
@geeh @phpstorm I'm hooked mate. I've been so productive lately it's silly. Keep up the great work.
@phpstorm's code completion is incredibly useful.
@phpstorm is magical.. in a good way. I find myself saying 'oh that's convenient' over and over.
If you are developing in PHP and are not using PhpStorm, you are working too hard.
'I'm so spoiled by PhpStorm!'
Join over 600,000
happy PhpStorm users
worldwide!
Skip to end of metadataGo to start of metadataPHP Inspections | Bug | WI-58588 | False positive 'Condition is never matched' in match expression when one of inferred types of match argument is empty or mixed |
Plugin: Deployment _ FTP. | Bug | WI-57672 | Change help tooltip in deployment options |
Code Analysis. Duplicates | Bug | IDEA-255779 | Code duplicates in headless mode does not work in IntelliJ IDEA 2020.2.3 |
Core. IDE Settings | Feature | IDEA-247100 | Sync IDEA platform SDKs with those installed by asdf-java |
Bug | IDEA-255402 | 'Default project directory' setting is ignored | |
Core. Indexing | Bug | IDEA-259783 | shared-indexes: unload exception in JDKs |
Core. Installation | Exception | IDEA-257865 | CCE at com.intellij.database.actions.AddDataSourceFromPath$1.<init> |
Core. Navigation and Search | Bug | IDEA-259121 | 'Go to File' shows a lot of directories first but no files |
Core. Password Management | Bug | IDEA-258912 | OSX Keychain is not available on Apple ARM chips (aarch64) |
Core. Project Settings | Bug | IDEA-260248 | Project Structure dialog: changes in module name aren't applied if module dependencies were changed at the same time |
Bug | IDEA-262628 | Trusted host is not recognized if recorded with protocol | |
Bug | IDEA-260145 | Cannot rename module with custom (i.e. non project-default) JDK | |
Bug | IDEA-260512 | Android facets are gone | |
Bug | IDEA-249398 | Persistent AddDiffException on project open after quitting IDEA | |
Performance | IDEA-252694 | Freeze during processing changed project configuration files | |
Cosmetics | IDEA-263464 | The 'trust host' checkbox label in the Trust And Open Gradle/Maven Project dialog | |
Core. Run. Configurations | Bug | IDEA-261259 | Alternative coverage runner option disappears at reopening |
Bug | IDEA-256715 | 'Repeat N times' option in JUnit run configuration is shown twice | |
Bug | IDEA-256734 | Invalid got it tooltip for 'Repeat N times' | |
Bug | IDEA-259609 | '<no module>' can not be selected | |
Bug | IDEA-261930 | Run configuration's working directory disappeared after setting it to an empty value | |
Cosmetics | IDEA-260033 | [new run config UI] extra artifacts on 'Got it' tooltip | |
Core. Run. Targets | Bug | IDEA-258084 | Run Targets: JUnit: attempt to run 'all in package' run configuration fails with SSH target |
Editor. Diff and Merge | Bug | IDEA-257651 | Diff view detects big diff but change was only small |
Lang. Markdown | Bug | IDEA-258796 | Unnecessary backslash escape in triple-backticked bash block |
Lang. XPath and XSLT | Bug | IDEA-207408 | XSLT debugger broken on Java 9+ |
Tools. Docker | Bug | IDEA-259303 | Docker. Settings on the Tools page are wrong red marked |
Bug | IDEA-259400 | Log spamming by Docker integration when host is not available anymore | |
User Interface | Bug | IDEA-255506 | Inline debugger dialog incorrectly sized on Ubuntu |
Bug | IDEA-257834 | Cannot open cloned project while another one is being opened | |
User Interface. Embedded Browser (JCEF) | Bug | IDEA-259096 | JCEF: window.cefQuery_XXXXXX_XX is not a function for query created after the browser is shown |
User Interface. Focus | Bug | IDEA-259513 | Extra editor tab lose focus when switch between source/header |
User Interface. Graphics | Usability | IDEA-256044 | Close All But Pinned Broken / Missing |
Version Control | Bug | IDEA-169090 | Wrong highlighting of copy-pasted fragment in editor gutter |
Bug | IDEA-251317 | Viewing a diff from 'Apply Patch' dialog sometimes shows a weird error | |
Version Control. Git | Bug | IDEA-251265 | Search everywhere doesn't find action Annotate with Git Blame by request 'git blame' |
Bug | IDEA-253049 | Git Staging Area: 'Delete Files from Git' dialog shouldn't pop up on deleting unversioned files | |
Bug | IDEA-257461 | Missing arrows in stash camper window | |
Version Control. Log | Usability | IDEA-254354 | Branch list doesn't focus item on right click |
DB Introspection | Bug | DBE-12264 | Code: 417, e.displayText() = DB::Exception: Expected ANY or ALL in JOIN section, because setting (join_default_strictness) is empty, e.what() = DB::Exception |
Task | DBE-12513 | Error while introspecting H2 database: Syntax Error | |
DB Refactoring | Bug | DBE-12422 | Renaming MySQL JSON column with default value |
SQL Completion | Exception | DBE-12561 | Throwable at com.intellij.sql.psi.impl.SqlImplUtil.quoteIdentifier |
SQL Highlighting | Feature | DBE-12473 | Better highlighting in Run Configurations |
Feature | DBE-12470 | Support MariaDB Compound Statements outside of Stored Programs | |
Bug | DBE-12492 | Ambiguous column name isn't reported in qualified with CTE name | |
Bug | DBE-12371 | MariaDB SQL dialect: Incorrect handling of 'FOR SHARE' and 'RETURNING' | |
Bug | DBE-12493 | Incorrect syntax with min_active_rowversion | |
Bug | DBE-12528 | TODO comments ignored in procedure bodies for PostgreSQL | |
Bug | DBE-12499 | Can't pass multiple values in the ROWS FROM clause | |
Bug | DBE-12500 | Can't use type cast inside 'PARTITION OF' clause | |
Bug | DBE-12553 | Analytic functions are marked as error for H2 | |
HTML | Bug | WEB-36210 | Allow ARIA accessibility attributes in SVG elements |
Bug | WEB-49001 | Support data-* attribute in SVG 2.0 files | |
JavaScript | Bug | WEB-49156 | Incorrect syntax error 'yield is not allowed as identifier in strict mode' in a generator function |
Bug | WEB-49307 | Opening project in new version of IDE changes settings of JavaScriptSettings component in .idea/misc.xml | |
Performance | WEB-48983 | Webstorm 2020.3.x MacOS slow and high CPU compared to 2020.2 | |
Task | WEB-49259 | Show suggestions from string literals only on Ctrl-Space | |
JavaScript. Frameworks | Bug | WEB-48038 | No autocompletion for makeStyles/createStyles |
Bug | WEB-49137 | Quick fix 'Add import statement' doesn't work for 'React' | |
Bug | WEB-49135 | Incorrect import suggestions for React methods | |
Unit Tests | Bug | WEB-48569 | Error debugging Mocha tests run with Vue CLI due to 'Unknown argument: jobs' |
Bug | WEB-49314 | Cannot debug karma v6 test code (error in karma-intellij-debug.js) |