Cómo ejecutar o depurar php en Código de Visual Studio (VSCode)


No puedo encontrar una manera de ejecutar o depurar php en código de Visual studio, ¿alguien sabe cómo?

Author: jessehouwing, 2015-04-30

9 answers

Por lo que he leído hoy, no se puede depurar nada más que nodo.js, JavaScript y TypeScript en este momento, pero dijeron que quieren agregar nuevos idiomas que se pueden depurar. El editor todavía está en desarrollo. Sin embargo, no creo que haya un depurador php en el futuro ya que php está en el lado del servidor, por lo que no puede depurarlo solo en su cliente.

Si desea depurar php, puedo recomendar xDebug.


Actualizado:

Ahora, es posible depurar con código VS. Necesita instalar XDebug y php-debug extensión para VSCode.

 13
Author: Y U NO WORK,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-01-15 16:47:15

Depurar PHP con VSCode usando la extensión vscode-php-debug

VSCode ahora puede soportar la depuración de proyectos PHP a través de la extensión marketplace vscode-php-debug.

Esta extensión utiliza XDebug en segundo plano, y le permite utilizar puntos de interrupción, relojes, trazas de pila y similares:

Captura de pantalla: Depuración de PHP en VSCode usando la extensión vscode-php-debug

La instalación es sencilla desde VSCode: Invoca la línea de comandos con F1 y luego escribe ext install php-debug

 42
Author: flexponsive,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-01-01 19:24:45

Ahora hay una guía práctica para configurar la depuración de PHP en el código de Visual Studio en http://blogs.msdn.com/b/nicktrog/archive/2016/02/11/configuring-visual-studio-code-for-php-development.aspx

Desde el enlace, los pasos son:

  1. Descargue e instale Visual Studio Code
  2. Configurar PHP linting en la configuración del usuario
  3. Descargue e instale la extensión de depuración de PHP desde Visual Studio Marketplace
  4. Configure la extensión de depuración de PHP para XDebug

Tenga en cuenta que hay detalles específicos en el artículo vinculado, incluidos los valores de PHP para su configuración de usuario de Código VS, y así sucesivamente.

 14
Author: John Kaster,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-03-14 00:44:59

Vale la pena señalar que debe abrir la carpeta del proyecto en el código de Visual Studio para que el depurador funcione. Perdí algunas horas para que funcionara mientras tenía solo un archivo individual abierto en el editor.

Problema explicado aquí

 3
Author: emil f.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-12 10:42:02

Si está utilizando Ubuntu 16.04 y php7 puede instalar xdebug con el siguiente comando:

sudo apt-get install php-xdebug

Puede encontrar el proceso de configuración completo aquí.

Si está utilizando Windows, puede descargar xdebug desde xdebug.org .

Y comienza a depurar en VS-code con la extensión php-debug.

cómo configurar php-debug para xdebug

 1
Author: shibli049,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-12-22 14:02:52

Para depurar php con vscode, necesita estas cosas:

  1. vscode con php debuge plugin(XDebug) instalado;
  2. php con XDebug.so/XDebug.dll descargado y configurado;
  3. un servidor web,como apache/nginx o simplemente nada(use el servidor incorporado en php)

Puede caminar suavemente a través de los pasos 1 y 2, siguiendo el oficial de vscode guide.It se recomienda utilizar XDebug installation wizard para verificar la configuración de XDebug.

Si si desea depurar sin un servidor web independiente, el php incorporado puede ser una opción.Inicie el servidor integrado con el comando php -S localhost:port -t path/to/your/project, estableciendo su directorio de proyecto como raíz del documento.Puedes consultar este post para más detalles.

 1
Author: Archman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-08-29 16:28:52

En realidad es posible ejecutar PHP sin xDebug y sin instalar ninguna extensión adicional.

Si simplemente desea que el ejecutable PHP evalúe el código PHP y muestre la salida en el terminal (es decir, no en un navegador), entonces solo necesita copiar la siguiente configuración en su configuración de usuario:

{
    "launch": {
        "version": "0.2.0",
        "configurations": [
            {
            "type": "php",
            "request": "launch",
            "name": "Run using PHP executable",
            "program": "${file}",
            "runtimeExecutable": "/usr/bin/php"
            },
        ]
    },
    // all your other user settings...
}

Esto crea una configuración de lanzamiento global que puede usar en cualquier archivo PHP. Observe la opción runtimeExecutable. Tendrá que actualizar esto con la ruta a el ejecutable PHP en su máquina. Después de copiar la configuración anterior, siempre que tenga un archivo PHP abierto, puede presionar la tecla F5 para ejecutar el código PHP y mostrar la salida en el terminal vscode.


Por otro lado, si desea ejecutar PHP accediendo a un servidor web con un navegador, necesitará configurarlo creando una tarea de compilación . Para crear una tarea, deberá trabajar en una carpeta del espacio de trabajo. Una vez que tenga una carpeta de espacio de trabajo abierta, vaya a Tasks > Configure Tasks... luego presione enter y luego elija la opción "Otros". Hacer esto creará una tarea.archivo json en la carpeta del espacio de trabajo.

Ahora copie mi configuración a continuación en sus tareas.archivo json:

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Start Server",
            "type": "shell",
            "command": "php -S localhost:8080 -t ${workspaceFolder}",
            "isBackground": true,
            "group": "build",
            "problemMatcher": []
        },
        {
            "label": "Run In Browser",
            "type": "shell",
            "command": "open http://localhost:8080/${relativeFile}",
            "group": "build",
            "problemMatcher": []
        }
    ]
}

Ahora, si tiene un archivo PHP desde su espacio de trabajo abierto, puede presionar Ctrl+Shift+B (⌘+Shift+B en macOS), y las dos tareas anteriores deberían aparecer. Seleccione Start Server para ejecutar el servidor integrado de PHP, luego Run In Browser para ejecutar el archivo actualmente abierto desde su navegador (esto asume su espacio de trabajo root es también la raíz de su documento). Tenga en cuenta que si ya tiene un servidor web en ejecución, puede eliminar la tarea Start Server y actualizar la parte localhost:8080 para que apunte a cualquier URL que esté utilizando.

Otra nota: Si está utilizando Windows, probablemente tendrá que cambiar open http://localhost:8080/${relativeFile} a algo como explorer 'http://localhost:8080/${relativeFile}'

 1
Author: Kodos Johnson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-06-07 07:59:11

Ya es suficiente ayuda respuestas completas pero si quieres ver el proceso entonces
[ haga clic aquí]

Pasos en breve

[ bueno para ir ]

  1. asegúrese de que ha reiniciado su servidor local

Fuente : https://www.youtube.com/watch?v=8MLEB1qx984

 0
Author: insCode,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-02-06 09:18:10

Hay una forma mucho más fácil de ejecutar PHP, no se necesita configuración:

  1. Instale la extensión de Corredor de código
  2. Abra el archivo de código PHP en el Editor de texto
    • usar atajo Ctrl+Alt+N
    • o presione F1 y luego seleccione / escriba Run Code,
    • o haga clic con el botón derecho en el Editor de texto y luego haga clic en Run Code en el menú contextual del editor
    • o haga clic en el botón Run Code en el menú título del editor
    • o haga clic en el botón Run Code en el menú contextual del archivo explorador

Además, puede seleccionar parte del código PHP y ejecutar el fragmento de código. Muy conveniente!

 0
Author: Jun Han,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-17 05:59:44