Phpstorm Codeigniter



Codeigniter

  1. Codeigniter 4 Performance
  2. Phpstorm Codeigniter 補完
  3. Codeigniter 4

PHP applications are not always web applications. Various command line tools, daemons, message queue processing applications and other types of applications typically run in the PHP CLI. There are several ways to start a PHP CLI debugging session. You can start it from within PhpStorm and make it start the script and attach the debugger to it. Alternatively, you can let PhpStorm listen for incoming debugger connections and start the script outside the IDE. We'll take a look at both options.

Before you start debugging, make sure that you have a debugging engine installed and configured properly. PhpStorm supports debugging with two most popular tools: Xdebug and Zend Debugger. These tools cannot be used simultaneously because they block each other. To avoid this problem, you need to update the corresponding sections in the php.ini file as described in Configure Xdebug and Configure Zend Debugger.

Open the active php.ini file in the editor:

  1. In the Settings/Preferences dialog Ctrl+Alt+S, click PHP.

  2. On the PHP page that opens, click next to the CLI Interpreter field.

  3. In the CLI Interpreters dialog that opens, the Configuration file read-only field shows the path to the active php.ini file. Click Open in Editor.

Start a debugging session from PhpStorm

A PhpStorm plugin for CodeIgniter development.

To start debugging a PHP CLI script from within PhpStorm, perform the following steps.

Create a Run/Debug Configuration

PhpStorm uses Run/Debug configurations to execute a script from within the IDE. A configuration can define additional arguments for the PHP interpreter as well as launch other commands prior to starting our script. We will need a Run/Debug configuration to start the debugger from within PhpStorm.

  • (, 07:24 AM) InsiteFX Wrote: For one var is depreciated, you should use public, private, protected or static. PhpStorm will not be looking for var. A couple of us did do a live templates for CodeIgniter 4.
  • HTTP Client in PhpStorm Overview 7:40 What's New in PhpStorm 2019.3 7:43 What's New in PhpStorm 2019.1 5:07 What's New in PhpStorm 2018.3 5:01 Quickstart with Docker in PhpStorm 1:19 Naming Inspections in PhpStorm 2016.3 2:19 How to upgrade to PHP 7.4 with PhpStorm 9:28.

Create a Run/Debug configuration for a PHP script manually

  1. Create a new Run/Debug configuration using the Run | Edit Configurations menu.

  2. Add a new configuration of the PHP Script type and provide the required parameters, such as the script to be executed.

  3. Save the created Run/Debug configuration.

Generate a Run/Debug configuration for a PHP script

  • Right-click in the Project tool window, and select Debug | <script name>.php from the context menu (make sure to pick the item marked with ). Alternatively, open the script in the editor, press Alt+Shift+F9, and select the script to be debugged.

    The IDE will launch the script with the debugger enabled, and open the Debug tool window.

Launch the Debugger

Before launching the debugger, make sure that either a breakpoint is set or the Break at first line in PHP scripts option is enabled on the Debug page of the Settings/Preferences dialog Ctrl+Alt+S.

  • Click on the PhpStorm toolbar.

  • Press Alt+Shift+F9.

  • Select Run | Debug from the main menu.

Switch between configured PHP interpreters on the fly

  1. Press Ctrl+Shift+A and start typing Change PHP interpreter. In the suggestions list, select the Change PHP interpreter action.

    If necessary, you can assign a keyboard shortcut for this action either directly in the suggestions list by pressing Alt+Enter, or at a later point as described in Configure keyboard shortcuts.

  2. In the popup menu that opens, select one of the configured local or remote PHP interpreters.

The selected interpreter will be set as the default project interpreter on the PHP page of the Settings/Preferences dialog Ctrl+Alt+S. This will also affect the run/debug configurations, test frameworks', and quality tools' configurations that are set to use the default project interpreter.

Start a debugging session from the command line

Before you start a debugging session with PhpStorm when running CLI scripts, make sure that any of the following requirements is met:

  • Xdebug's remote_autostart (for Xdebug 2) or start_with_request (for Xdebug 3) option is enabled.

  • XDEBUG_CONFIG environment variable exists.

Listening for incoming debugger connections

Phpstorm

In PhpStorm, enable listening to incoming debug connections by either clicking on the toolbar or selecting Run | Start Listening for PHP Debug Connections. This will ensure PhpStorm reacts when a debugging session is started and opens the debug tool window automatically. Before launching the script, make sure that either a breakpoint is set or the Break at first line in PHP scripts option is enabled on the Debug page of the Settings/Preferences dialog Ctrl+Alt+S.

Start the script with debugger options

Since we'll be starting the script from the command line, we will have to make sure it is started with the required settings to enable the debugger.

Starting the script with Xdebug

Xdebug has various configuration options which we can use to let the PHP interpreter reach out to PhpStorm. These parameters have to be passed to the PHP interpreter using the -d command line parameter. Alternatively, you can set an environment variable so that you don't need to provide the -d parameters every time.

Start the script with debugging using PHP command-line switches

  • Launch PHP with the following command-line options:

    php -dxdebug.remote_enable=1 -dxdebug.remote_mode=req -dxdebug.remote_port=9000 -dxdebug.remote_host=127.0.0.1 -dxdebug.remote_connect_back=0 path/to/script.php
    php -dxdebug.mode=debug -dxdebug.client_host=127.0.0.1 -dxdebug.client_port=9003 -dxdebug.start_with_request=yes path/to/script.php

Codeigniter 4 Performance

Start the script with debugging using an environment variable

  1. Set an environment variable that configures Xdebug:

    • For Windows:

      set XDEBUG_CONFIG=remote_enable=1 remote_mode=req remote_host=127.0.0.1 remote_port=9000 remote_connect_back=0
      set XDEBUG_CONFIG=mode=debug client_host=127.0.0.1 client_port=9003 start_with_request=yes
    • For macOS / Linux

      export XDEBUG_CONFIG='remote_enable=1 remote_mode=req remote_host=127.0.0.1 remote_port=9000 remote_connect_back=0'
      export XDEBUG_CONFIG='mode=debug client_host=127.0.0.1 client_port=9003 start_with_request=yes'
  2. Start the script normally:

    Optionally, you can use Xdebug's remote_autostart (for Xdebug 2) or start_with_request (for Xdebug 3) setting to always start a debugging session for every script that is run.

Starting the script with Zend Debugger

Zend Debugger has various configuration options which we can use to let the PHP interpreter reach out to PhpStorm. These parameters have to be passed to the PHP interpreter using an environment variable.

Start the script with debugging

  1. Set the QUERY_STRING environment variable:

    set QUERY_STRING=start_debug=1&debug_host=127.0.0.1&no_remote=1&debug_port=10137&debug_stop=1
    export QUERY_STRING='start_debug=1&debug_host=127.0.0.1&no_remote=1&debug_port=10137&debug_stop=1'
  2. Start the script normally:

Optionally, to tell PhpStorm which path mapping configuration should be used for a connection from a certain machine, the value of the PHP_IDE_CONFIG environment variable should be set to serverName=SomeName, where SomeName is the name of the server configured on the PHP | Servers page of the Settings/Preferences dialog Ctrl+Alt+S.

If this environment variable is not set, you'll be prompted to specify path mappings manually once IDE detects an incoming Xdebug connection.

Debug

Once the script is started, PhpStorm will open the Debug tool window and break at the first breakpoint that was set in the script. You can now continue debugging a PHP CLI script as described in Examining a Suspended Program.

CodeigniterCodeigniter

If the script that is being debugged is not a part of the project that's open in PhpStorm, the IDE will still open the script in the editor and pause execution at the first statement. This makes it possible to quickly debug any PHP CLI script, even if there is no PhpStorm project for it yet.

Last modified: 08 March 2021

You can start debugging a PHP CLI script from the command line, having PhpStorm listen for incoming debugger connections.

  1. Set the breakpoints where necessary.

  2. On the toolbar, click the Start Listening for PHP Debug Connections button or select Run | Start Listening for PHP Debug Connections from the main menu.

  3. Start the script with debugger options depending on the debugging engine you are using - Xdebug or Zend Debugger.

Start a Script with Xdebug

Xdebug has various configuration options which can be used to let the PHP interpreter reach out to PhpStorm. These parameters have to be passed to the PHP interpreter using the -d command line switch. A more convenient is to set an environment variable you do not need to provide the -d switches all the time.

Do one of the following:

  • Launch PHP with several switches:

    php -dxdebug.remote_enable=1 -dxdebug.remote_mode=req -dxdebug.remote_port=9000 -dxdebug.remote_host=127.0.0.1 -dxdebug.remote_connect_back=0 path/to/script.php
    php -dxdebug.mode=debug -dxdebug.client_host=127.0.0.1 -dxdebug.client_port=9003 -dxdebug.start_with_request=yes path/to/script.php
  • For Xdebug 2, set an environment variable that configures Xdebug:

    • For Windows:

      set XDEBUG_CONFIG=remote_enable=1 remote_mode=req remote_host=127.0.0.1 remote_port=9000 remote_connect_back=0
    • For macOS / Linux

      export XDEBUG_CONFIG='remote_enable=1 remote_mode=req remote_host=127.0.0.1 remote_port=9000 remote_connect_back=0'

Start a script with Zend Debugger

Zend Debugger has various configuration options which can be used to let the PHP interpreter reach out to PhpStorm. These parameters have to be passed to the PHP interpreter using an environment variable:

set QUERY_STRING=start_debug=1&debug_host=127.0.0.1&no_remote=1&debug_port=10137&debug_stop=1

Phpstorm Codeigniter 補完

export QUERY_STRING='start_debug=1&debug_host=127.0.0.1&no_remote=1&debug_port=10137&debug_stop=1'

Codeigniter 4

Configure path mappings

To tell PhpStorm which path mapping configuration should be used for a connection from a certain machine, set the value of the PHP_IDE_CONFIG environment variable to serverName=SomeName, where SomeName is the name of the debug server configuration defined on the Servers page, see Create a PHP debug server configuration. Depending on the operating system you are using, set the value in one of the following formats:

Troubleshooting

  • The debug server configuration is not specified through the PHP_IDE_CONFIG environment variable. In this case, PhpStorm detects the host and port from $_SERVER['SSH_CONNECTION'] and suggests to create a new debug server configuration if it doesn't exist. This works for all connections through ssh even without a tunnel.

  • The debug server configuration is not specified through the PHP_IDE_CONFIG environment variable and $_SERVER['SSH_CONNECTION'] is not defined. In this case, a warning is displayed with a link to the instruction in specifying the debug server configuration through the PHP_IDE_CONFIG environment variable.

  • The debug server configuration is specified through the PHP_IDE_CONFIG environment variable but a wrong format is used, PhpStorm displays an error message with the instructions.

  • The PHP_IDE_CONFIG environment variable is configured properly, but the specified debug server configuration doesn't exist, PhpStorm displays a warning with a link to the Servers page.

Last modified: 08 March 2021