ver linea a linea qué se está ejecutando en nuestra tienda local prestashop

Para ver qué pasa con tu tienda, en caso de problemas o que quieras ver cómo funciona un módulo, lo mejor es instalarla localmente y luego habilitar el depurador o “debugging”. Estamos hablando de ver el código PHP que se está ejecutando. Para ver los elementos html que se ejecutan usa la ventana de inspección de la pagina web (F12 en Chrome o botón derecho inspeccionar elemento).

Importante: Para ver el php que se ejecuta, en el caso de prestashop, un truco que va muy bien es activar el modo debug cambiando el false por true en la siguente linea del archivo /config/defines.inc.php:

define(‘_PS_MODE_DEV_’, false);

a

define(‘_PS_MODE_DEV_’, true);

De esta forma podrás ver todos los errores que pueda haber. Es importante tener desactivado el rendimiento en modo debug.

Volviendo al propósito de depurar el código PHP de la tienda prestashop hay que decir que esto de depurar es muy fácil de decir pero no tan fácil de hacer. La receta es:

1.- instalar XAMPP

2.- instalar Netbeans con el plugin xdebug y configurarlo para proyectos PHP

3.- depende por donde te dé el aire quizá quieras instalar el complemento xdebug en firefox (opcional)

instalar Netbeans con el plugin xdebug y configurarlo para proyectos PHP

Netbeans es un entorno de programación (“IDE”) pensado para java y de rebote para PHP. Lo quiero usar para modificar codigo e identificar errores de prestashop.  Resulta que instalar xdebug() tampoco es tarea sencilla.

Hay un amable experto  (http://stackoverflow.com)  que recomienda esto:

en el php.ini revisar o añadir estas lineas (; significa que es un comentario, no está activa esa linea)

zend_extension = "c:\xampp\php\ext\php_xdebug-2.2.3-5.4-vc9.dll"
xdebug.remote_autostart=on
xdebug.remote_enable=on
xdebug.remote_enable=1
xdebug.remote_handler="dbgp"
;xdebug.remote_host="localhost:81"
xdebug.remote_host=192.168.1.5
;xdebug.remote_connect_back=1
xdebug.remote_port=9000
xdebug.remote_mode=req
xdebug.idekey="netbeans-xdebug"

xdebug.remote_host=192.168.1.5 – This is the IPv4 address of my system, I changed to this because I couldn’t debug with localhost and 127.0.0.1.

in NetBeans IDE, open Tools-> Options->PHP->Debugging. The values of debugger port and Session Id should match with the port and idekey specified in php.ini

ademas necesitas la version exacta de la libreria .dll (busca en xdebug.org) y tienes que copiarla aquí:

 

xdebug_dll

Pues bien, esto no me ha funcionado. Creo que se debe a las diversas versiones de php y de xdebug. Yo tengo la versión de Netbeans 7.4 y para esta versión te cuento al final cómo lo he resuelto pero por si acaso no tienes esta versión, prueba esto otro

http://otroblogmas.com/configurar-xampp-para-debugar-con-xdebug-en-netbeans/

Y si tampoco te sirve, prueba  este

Debug en PHP 5 con NetBeans 6.7 (Windows)

Para NetBeans 7.4 y XAMPP 1.8.3 y PHP 5.5.6 que es la versión que viene con este XAMPP 1.8.3 esto es lo que funciona.

Edita el archivo php.ini pero escribe exactamente esto en la sección [xdebug]

[XDebug]
zend_extension = “C:\xampp\php\ext\php_xdebug.dll”
xdebug.remote_enable=1
xdebug.remote_handler=”dbgp”
xdebug.remote_port=9000
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 0
xdebug.trace_output_dir=”C:\xampp\tmp”
xdebug.profiler_output_dir = “C:\xampp\tmp”
xdebug.profiler_output_name = “cachegrind.out.%t-%s”
xdebug.remote_host = “127.0.0.1”

 

del resto ni lo toques (si no quieres dedicar 2 dias de tu vida a arreglarlo). Además hay que configurar el proyecto en Netbeans, en las propiedades pero me he dado cuenta de que no es realmente necesario, al igual que puedes depurar sin el add on de xdebug para firefox . Esto son extras. La clave son las versiones que utilices y la configuración que he puesto aquí del php.ini

Ahora puedes abrir un proyecto prestashop en local y hacer debug para ver qué le pasa y cómo funciona, paso a paso.

Suerte y espero tus “like” y tus comentarios

 

 

CategoríasSin categoría

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *