Built-in web server
PhpStorm has a built-in web server that can be used to preview and debug your application. This server is always running and does not require any manual configuration. All the project files are served on the built-in server with the root URL http://localhost:<built-in server port>/<project root>, with respect to the project structure.
The built-in server can only serve static content like HTML, JavaScript and CSS. To use it with PHP files, you need a local PHP interpreter specified for your project. When the interpreter is configured, PhpStorm will automatically start the PHP Built-In Web Server and redirect all PHP requests to it as soon as you run your PHP application. To run your PHP application, either open a file in the browser or create a dedicated run/debug configuration and launch it.
If a Deployment server is defined for this project and marked as default, the file will be served from this server instead. If necessary, you can still open the page via the PhpStorm built-in web server. To do this, open the desired browser and type the URL of the file with respect to the project structure, using http://localhost:<built-in server port>/<project root> as the root URL.
Open a file in a web browser
To open a file that is intended to be rendered by a web browser (HTML, XML, JSP, and so on), do one of the following:
Press Alt+F2.
Right-click a file and select Open in Browser.
From the main menu, select View | Open in Browser.
Use the browser popup in the top right part of the editor window. Click the browser button to open the web server file URL, or Shift+Click it to open the local file URL.
The Open in Browser action is not available for other file types. However, you can still execute it using Find Action Ctrl+Shift+A.
You can also preview HTML and PHP files via the built-in preview in the dedicated editor tab.
PhpStorm built-in preview
PhpStorm built-in preview makes your work faster as you no longer need to switch to the browser and refresh the pages. The preview is opened in a separate editor tab and reloaded automatically as you type or when you save the changes, depending on the reload behavior.
Open the PhpStorm built-in preview
From the main menu, select
, and then select from the list.Alternatively, hover your mouse pointer over the code to show the browser icons popup, and click .
Configure the built-in web server
To customize the parameters of the built-in web server, in the Settings/Preferences dialog Ctrl+Alt+S, go to .
Item | Description |
---|---|
Port | Use this spin box to specify the port on which the built-in web server runs. By default this port is set to 63342 through which PhpStorm accepts connections from services. You can set the port number to any other value starting with 1024 and higher. |
Can accept external connections | If this checkbox is selected, then the files on the built-in server running on the specified port are accessible from another computer. If this checkbox is cleared (by default), then the debugger listens only to local connections. |
Allow unsigned requests | For security reasons, any request to a page on the built-in server from outside PhpStorm is by default rejected and the authorization popup is displayed. To access the requested page, click Copy authorization URL to clipboard and paste the generated token in the address bar of the browser. However this behavior may be annoying, for example, it may block your debugging session if manual intervention is impossible. To suppress displaying the authorization popup, select the Allow unsigned requests checkbox. |
Use the PHP built-in web server on macOS
On macOS, you may get the php-cgi not found error when trying to use the built-in server. This indicates that PhpStorm is configured to use the PHP interpreter bundled with macOS, which does not contain the php-cgi module.
To be able to use the PHP built-in web server, do the following:
Install an alternative PHP interpreter with the php-cgi module included. The most common options are as follows:
Appoint the newly installed PHP interpreter for use in PhpStorm as described in Configure local PHP interpreters.