Using JetBrains Chrome Extension
On this page:
- Installing the JetBrains Chrome extension
- Working with JetBrains Chrome extension
- Overriding the default CORS settings
- Changing port
With the JetBrains Chrome extension, you can run several debugging sessions controlled by several IDEs and switch between them by changing the port which the extension listens to. And finally, the extension provides the possibility to override default CORS (Access-Control_Allow_Origin) settings and access local scripts on your machine that are by default protected.
Installing the JetBrains Chrome extension
To install the JetBrains Chrome extension
Do one of the following:
- At any time open the Chrome Web Store at https://chrome.google.com/webstore/detail/jetbrains-ide-support/hmhgeddbohgjknpmjagkdomcpobmllji.
- Click the Add to Chrome button .
- In the Confirm New Extension dialog box that opens, click Add. The Add to Chrome button changes to Added to Chrome .
When the extension is installed, the icon is displayed next to the Chrome address bar.
Working with JetBrains Chrome extension
To enable, disable, or remove the JetBrains Chrome extension
- To open the chrome://extensions/ page, click the Customize and control Chromium button next to the address bar, then choose Tools | Extensions on the context menu.
- To deactivate the extension, clear the Enabled check box. The check box name changes to Enable.
- To activate the extension, select the Enable check box.
- To uninstall the extension, click the Remove from Chromium button .
Overriding the default CORS settings
Suppose the page you are debugging requests a resource which is protected against access for security reasons through CORS settings. See more about CORS at https://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS.
You can enable access to the resources protected by default by changing the Chrome extension options.
To override the default CORS settings
- Right-click and choose Options on the context menu. A web page with Chrome extension options opens showing the parameters to connect to PhpStorm.
In the Force CORS text box, type the pattern that defines the URL addresses you want to make accessible, for example:
During a debugging session, the Chrome extension listens to the port of the software product from which the extension was invoked. Each software product including PhpStorm has its own default port on which it starts by default.
If for some reason the default PhpStorm port is already busy, PhpStorm finds the closest available port and starts on it. This results in a conflict: PhpStorm is running on a "new" port while the Chrome extension still listens to the port of a previously started product and fails to establish connection with PhpStorm. The conflict reveals when you initiate a debugging session from PhpStorm: the extension fails to connect through the default port, PhpStorm waits for connection from the extension and displays the following message with the port number where it is actually running:
To fix the problem, specify the actual PhpStorm port in the Chrome extension options.