Xdebug profiler is not working? - php

I using XAMPP and I have configure it in order to have virtual hosts for each project I create localy.
In my php.ini I have enabled xdebug, and my scripts are working properly. I mean that any time there is a warning, notice, error, are reported by the xdebug.
Now I would like to enable the Xdebug profiler, and I have make the following changes into my php.ini in order to allow the Xdebug profiler to generate the log file:
; xdebug.profiler_enable
; Type: integer, Default value: 0
; Enables Xdebugs profiler which creates files in the profile output directory. Those files can be
; read by KCacheGrind to visualize your data. This setting can not be set in your script with ini_set
; ().
xdebug.profiler_enable = 1
; xdebug.profiler_output_dir
; Type: string, Default value: /tmp
; The directory where the profiler output will be written to, make sure that the user who the PHP
; will be running as has write permissions to that directory. This setting can not be set in your
; script with ini_set().
xdebug.profiler_output_dir ="D:\Web Development Projects\Profile"
I restart my Apache, but still when I run my scripts there is no file generated in folder Profile.
Is there anything else I have to do ?
I have read that in order to enable the Profiler : http://xdebug.org/docs/profiler
After some research, I add that code at the end of the index.php in a WordPress installation I have in my server:
echo xdebug_get_profiler_filename();
After I run my WordPress, at the footer I get that result:
D:/Web Development Projects/Profile/xdebug_profile._::1320916508_018294
but when I go to the folder
D:/Web Development Projects/Profile/
the file is not appeared there ? Any idea ?

First of all, you need to make sure that the user under which your webserver runs at actually has write permissions to the directory that you specified— and it needs to exist.
It is also possible that Xdebug doesn't like spaces in paths, Although that should work just fine, I would try setting:
xdebug.profiler_output_dir = "D:/Web Development Projects/Profiler"
As the \ + char might be an escape sequence.

The problem solved !
The problem generated because of the log file name.
I just changed it to:
xdebug.profiler_output_name = "callgrind.out.%t-%s"
and working properly !
Update
I update my code because of the comment provided by the user The Unknown Dev. Based on what he is written the code should be like that:
xdebug.profiler_output_name = "cachegrind.out.%t-%s"

If you are on Linux check that you are not in PrivateTmp, otherwise everything is written in /tmp
check this lin which explain PrivateTmp

I had a similar problem with Fedora Linux v.32.
The setup was correct, however I could not find the profiler dump in /tmp.
This was caused because of the RedHat Linux Security Feature: PrivateTmp, introduced also in Fedora 16 and newer.
This means that processes running with this flag would see a different and unique /tmp from the one users and other daemons sees or can access.
In my case the unique directory was:
/tmp/systemd-private-05139aa229424bc389df850760710371-php-fpm.service-vLI9Th

Try adding
xdebug.mode = develop,profile
in php.ini
and also print the info with
echo xdebug_info();
In version 3 I think they changed the options like shown here:
https://xdebug.org/docs/profiler
Also the new option is
xdebug.output_dir = "Path..."
So this is my entire configuration with XDebug 3
zend_extension = "D:\Dev\XAMPP\php\ext\php_xdebug-3.1.4-7.3-vc15-x86_64.dll"
xdebug.remote_enable=1
xdebug.remote_host="localhost"
xdebug.remote_port=9003
xdebug.mode = develop,profile
xdebug.profiler_output_name = "callgrind.out.%t-%s"
xdebug.output_dir = "D:\Dev\XAMPP\php\tmp"
Notice that xdebug.mode and xdebug.output_dir
And I start the server like this
php -d max_execution_time=30000 -S 127.0.0.1:80 -t .

Related

Running PHP short tag on localhost Bitnami Wordpress [duplicate]

I have a web application on a Linux server which starts with <?
I needed to copy this application to a windows environment and everything is working fine except that an SQL statement is being rendered differently. I don't know if this has to do with the script beginning with <?php instead of <? because I don't know from where to enable the <? from the PHP.ini so I changed it to <?php
I know that these 2 statements are supposed to mean the same but I need to test it with <? in order to ensure that the application is exactly the same. This way I can eliminate another possibility.
Thanks
Set
short_open_tag=On
in php.ini
And restart your Apache server.
This can be done by enabling short_open_tag in php.ini:
short_open_tag = on
If you don't have access to the php.ini you can try to enable them trough the .htaccess file but it's possible the hosting company disabled this if you are on shared hosting:
php_value short_open_tag 1
For the people thinking that short_open_tags are bad practice as of php 5.4 the <?= ... ?> shorttag will supported everywhere, regardless of the settings so there is no reason not to use them if you can control the settings on the server. Also said in this link: short_open_tag
This can be done by enabling short_open_tag in php.ini:
1.To locate php.ini file,on comment line execute
php --ini
you will get some thing like this,
Configuration File (php.ini) Path: /etc
Loaded Configuration File: /etc/php.ini
Scan for additional .ini files in: /etc/php.d
Additional .ini files parsed: /etc/php.d/curl.ini,
/etc/php.d/fileinfo.ini,
/etc/php.d/gd.ini,
/etc/php.d/json.ini,
/etc/php.d/mcrypt.ini,
/etc/php.d/mysql.ini,
/etc/php.d/mysqli.ini,
/etc/php.d/pdo.ini,
/etc/php.d/pdo_mysql.ini,
/etc/php.d/pdo_sqlite.ini,
/etc/php.d/phar.ini,
/etc/php.d/sqlite3.ini,
/etc/php.d/zip.ini
See 2nd line from the comment output.The file will be in the mentioned path.
2.Open php.ini file and find short_open_tag. By default it is in off change it to on.
3.Restart the server,execute this comment
service httpd restart
Thanks
To set short tags to open from a Vagrant install script on Ubuntu:
sed -i "s/short_open_tag = .*/short_open_tag = On/" /etc/php5/apache2/php.ini
I can see all answers above are partially correct only.
In reality all 21st Century PHP apps will have FastCGI Process Manager(php-fpm) so once you have added php-info() into your test.php script and checked the correct path for php.ini
Go to php.ini and set short_open_tag = On
IMPORTANT: then you must restart your php-fpm process so this can work!
sudo service php-fpm restart
and then finally restart your nginx/http server
sudo service nginx restart
you need to turn on short_open_tags.
short_open_tag = On
As simple, as that, follow the following steps:
Go to php.ini file
Find short_open_tag and set it to on
short_open_tag = On
Restart the server
In CentOS 6(tested on Centos 7 too) you can't set short_open_tag in /etc/php.ini for php-fpm.
You will have error:
ERROR: [/etc/php.ini:159] unknown entry 'short_open_tag'
ERROR: Unable to include /etc/php.ini from /etc/php-fpm.conf at line 159
ERROR: failed to load configuration file '/etc/php-fpm.conf'
ERROR: FPM initialization failed
You must edit config for your site, which can found in /etc/php-fpm.d/www.conf
And write at end of file:
php_value[short_open_tag] = On
If you are using Ubuntu with Apache+php5, then on current versions there are 2 places where you need to change to short_open_tag = On
/etc/php5/apache2/php.ini - this is for the pages loaded through your web server (Apache)
/etc/php5/cli/php.ini - this configuration is used when you launch your php files from command line, like: php yourscript.php - that goes for manually or cronjob executed php files directly on the server.
if you edit your php.ini file, remember to restart your service (apache2, etc) for the edits to php.ini to take effect
For Wamp Server users there is easier way:
You may enable that setting simply (left) click once on the WampServer icon, choose PHP -> PHP settings -> short open tag. Wait for a second, then WampServer will automatically restart your PHP and also its web service.
originally from: http://osticket.com/forums/showthread.php?t=3149
; Default Value: On
; Development Value: Off
; Production Value: Off
; http://php.net/short-open-tag
;short_open_tag=Off <--Comment this out
; XAMPP for Linux is currently old fashioned
short_open_tag = On <--Uncomment this
You can follow the following steps:
1-> Go to php.ini file inside /etc/php/7.3/apache2 or inside your PHP version and
2-> Find short_open_tag and set it to On and removing ; from starting.
short_open_tag = On
3-> Restart the server
sudo service apache2 restart
if using xampp, you will notice the php.ini file has twice mentioned short_open_tag . Enable the second one to short_open_tag = On . The first one is commented out and you might be tempted to uncomment and edit it but it is over-ridden by a second short_open_tag
If you are using xampp in windows then please do following
Open XAMPP control panel.
Click on CONFIG button.
Go to PHP (php.ini) option.
Find short_open_tag using ctrl+f utility
You will found ;short_open_tag
kindly remove the semicolon (;) from line.
and keep it as short_open_tag = on
Finally, restart your Apache server
sed -i "s/short_open_tag = .*/short_open_tag = On/" /etc/php/7.2/apache2/php.ini
That works on php7.2 on ubuntu 16, same answer as above by Bradley Flood, although the directory in which the config file is stored has changed.
Also you can change the version in the php string to match your currently installed version.
For docker add this step to Dockerfile
ARG phpIniPath=/path/to/your/php.ini
RUN sed -i -e 's/^short_open_tag\s*=.*/short_open_tag = On/' $phpIniPath
To enable short_open_tag for a particular domain with php-fpm, you must edit :
/etc/php5/fpm/pool.d/xxxxxxxxxx.conf
Where xxxxx is the socket number of the domain.
And add : php_value[short_open_tag] = On
short_open_tag = On
in php.ini
And restart your Apache Server.
I'v Changed the short_open_tag Off to On on my aws centos 7 instance and php7(PHP 7.0.33 (cli) (built: Dec 6 2018 22:30:44) ( NTS )), but its not reflecting the php info page and the code. So I refer may docs and find a solution on my case. Add an extra line after the short_open_tag as asp_tags = On after that restart Apache It works on the code and I go the output correctly
php.ini file
engine = On
; This directive determines whether or not PHP will recognize code between
; <? and ?> tags as PHP source which should be processed as such. It is
; generally recommended that <?php and ?> should be used and that this feature
; should be disabled, as enabling it may result in issues when generating XML
; documents, however this remains supported for backward compatibility reasons.
; Note that this directive does not control the <?= shorthand tag, which can be
; used regardless of this directive.
; Default Value: On
; Development Value: Off
; Production Value: Off
; http://php.net/short-open-tag
short_open_tag = On
; Allow ASP-style <% %> tags
; http://php.net/asp-tags
asp_tags = On
Set the asp_tags = On and short_open_tag = On in both the files \apache\Apache2.2.21\bin\php.ini and \bin\php\php5.3.8\php.ini and then restart the apache server.

wamp - xdebug configuration is not getting saved

This is my xdebug configuration in my php.ini
[xdebug]
zend_extension="C:\wamp64\bin\php\php5.6.35\zend_ext\php_xdebug-2.5.5-5.6-vc11-x86_64.dll"
xdebug.remote_log = C:\wamp64\logs\xdebug.log
xdebug.idekey = PHPSTORM
xdebug.remote_port = 9000
xdebug.remote_handler="dbgp"
xdebug.remote_autostart = on
xdebug.remote_start = on
xdebug.remote_enable = on
xdebug.remote_connect_back = on
it is at the very bottom of the file.
As you can see, I have set the xdebug.idekey to PHPSTORM, but phpinfo() shows that the value is not set, what am I doing wrong?
I also set the idekey through PhpStorm, but why is there no value entry in phpinfo() at the bottom? The top one is filled ?!
EDIT from comments and #Black's answer this is the answer :
WAMP use 3 PHP.ini files :
Apache's file : wamp\bin\apache\apache[version]\bin\php.ini
PHP's file : wamp\bin\php\php[version]\php.ini
Third file : wamp\bin\php\php[version]\phpForApache.ini
First two files are usefull, apache's file is used for HTTP calls, PHP's one for CGI/CLI. The third one is used when your WAMP has 2 PHP's version, WAMP use it for saving the current config and then create a new PHP.ini file for the new version. This happens during the switch of PHP's version.
In the Xdebug's case, indeed it was the apache's file that matter. It's a common issue when the phpinfo don't show any modifications.
If you have the same configuration between those two files, you also can make a symlink from PHP's file to apache one. This will save a lot of headache.
UNLUCKY TRIES
Depends on your request, you may want to configure your server with differents things.
You tried to use Xdebug as remote, then your IDEKEY should be SET as environment variable named : DBGP_IDEKEY
Here's the doc :
xdebug.idekey
Type: string, Default value: complex Controls which IDE Key Xdebug
should pass on to the DBGp debugger handler. The default is based on
environment settings. First the environment setting DBGP_IDEKEY is
consulted, then USER and as last USERNAME. The default is set to the
first environment variable that is found. If none could be found the
setting has as default ''. If this setting is set, it always overrides
the environment variables.
You may be concerned by conditions that I pointed out with italic text
as linked in comment, take a look at the full documentation
I remember that WAMP use Xdebug as an Thread safe extension, you should try to
replace
zend_extension="C:\wamp64\bin\php\php5.6.35\zend_ext\php_xdebug-2.5.5-5.6-vc11-x86_64.dll"
by
zend_extension_ts="C:\wamp64\bin\php\php5.6.35\zend_ext\php_xdebug-2.5.5-5.6-vc11-x86_64.dll"
And check if you have download a correct version of Xdebug (Thread Safe)
Then restart wamp and see if something has changed.
EDIT : You have an issue with your PHP.ini, you're not modifying the right one. I succeeded on mine with this :
; XDEBUG Extension zend_extension = "C:\wamp\bin\php\php7.0.4\zend_ext\php_xdebug-2.4.0-7.0-vc14-x86_64.dll" ;
[xdebug]
xdebug.remote_enable=1
xdebug.idekey = "PHPSTORM"
xdebug.remote_autostart= on
xdebug.remote_connect_back= 1
xdebug.remote_host="127.0.0.1"
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"
xdebug.remote_mode=req
xdebug.profiler_enable = 0
xdebug.profiler_output_dir = "c:/wamp/tmp/"
xdebug.collect_params = On
xdebug.show_local_vars = On`
The reason why it was not saved is that on wamp you have to store your config in C:\wamp64\bin\apache\apache_VERSION\bin\php.ini instead of C:\wamp64\bin\php\php_VERSION\php.ini.
I searched my whole wamp/bin/php folder for the occurence of the string xdebug by using Notepad++, thats how I found it out.

php if statement in html is matching all conditions [duplicate]

I have a web application on a Linux server which starts with <?
I needed to copy this application to a windows environment and everything is working fine except that an SQL statement is being rendered differently. I don't know if this has to do with the script beginning with <?php instead of <? because I don't know from where to enable the <? from the PHP.ini so I changed it to <?php
I know that these 2 statements are supposed to mean the same but I need to test it with <? in order to ensure that the application is exactly the same. This way I can eliminate another possibility.
Thanks
Set
short_open_tag=On
in php.ini
And restart your Apache server.
This can be done by enabling short_open_tag in php.ini:
short_open_tag = on
If you don't have access to the php.ini you can try to enable them trough the .htaccess file but it's possible the hosting company disabled this if you are on shared hosting:
php_value short_open_tag 1
For the people thinking that short_open_tags are bad practice as of php 5.4 the <?= ... ?> shorttag will supported everywhere, regardless of the settings so there is no reason not to use them if you can control the settings on the server. Also said in this link: short_open_tag
This can be done by enabling short_open_tag in php.ini:
1.To locate php.ini file,on comment line execute
php --ini
you will get some thing like this,
Configuration File (php.ini) Path: /etc
Loaded Configuration File: /etc/php.ini
Scan for additional .ini files in: /etc/php.d
Additional .ini files parsed: /etc/php.d/curl.ini,
/etc/php.d/fileinfo.ini,
/etc/php.d/gd.ini,
/etc/php.d/json.ini,
/etc/php.d/mcrypt.ini,
/etc/php.d/mysql.ini,
/etc/php.d/mysqli.ini,
/etc/php.d/pdo.ini,
/etc/php.d/pdo_mysql.ini,
/etc/php.d/pdo_sqlite.ini,
/etc/php.d/phar.ini,
/etc/php.d/sqlite3.ini,
/etc/php.d/zip.ini
See 2nd line from the comment output.The file will be in the mentioned path.
2.Open php.ini file and find short_open_tag. By default it is in off change it to on.
3.Restart the server,execute this comment
service httpd restart
Thanks
To set short tags to open from a Vagrant install script on Ubuntu:
sed -i "s/short_open_tag = .*/short_open_tag = On/" /etc/php5/apache2/php.ini
I can see all answers above are partially correct only.
In reality all 21st Century PHP apps will have FastCGI Process Manager(php-fpm) so once you have added php-info() into your test.php script and checked the correct path for php.ini
Go to php.ini and set short_open_tag = On
IMPORTANT: then you must restart your php-fpm process so this can work!
sudo service php-fpm restart
and then finally restart your nginx/http server
sudo service nginx restart
you need to turn on short_open_tags.
short_open_tag = On
As simple, as that, follow the following steps:
Go to php.ini file
Find short_open_tag and set it to on
short_open_tag = On
Restart the server
In CentOS 6(tested on Centos 7 too) you can't set short_open_tag in /etc/php.ini for php-fpm.
You will have error:
ERROR: [/etc/php.ini:159] unknown entry 'short_open_tag'
ERROR: Unable to include /etc/php.ini from /etc/php-fpm.conf at line 159
ERROR: failed to load configuration file '/etc/php-fpm.conf'
ERROR: FPM initialization failed
You must edit config for your site, which can found in /etc/php-fpm.d/www.conf
And write at end of file:
php_value[short_open_tag] = On
If you are using Ubuntu with Apache+php5, then on current versions there are 2 places where you need to change to short_open_tag = On
/etc/php5/apache2/php.ini - this is for the pages loaded through your web server (Apache)
/etc/php5/cli/php.ini - this configuration is used when you launch your php files from command line, like: php yourscript.php - that goes for manually or cronjob executed php files directly on the server.
if you edit your php.ini file, remember to restart your service (apache2, etc) for the edits to php.ini to take effect
For Wamp Server users there is easier way:
You may enable that setting simply (left) click once on the WampServer icon, choose PHP -> PHP settings -> short open tag. Wait for a second, then WampServer will automatically restart your PHP and also its web service.
originally from: http://osticket.com/forums/showthread.php?t=3149
; Default Value: On
; Development Value: Off
; Production Value: Off
; http://php.net/short-open-tag
;short_open_tag=Off <--Comment this out
; XAMPP for Linux is currently old fashioned
short_open_tag = On <--Uncomment this
You can follow the following steps:
1-> Go to php.ini file inside /etc/php/7.3/apache2 or inside your PHP version and
2-> Find short_open_tag and set it to On and removing ; from starting.
short_open_tag = On
3-> Restart the server
sudo service apache2 restart
if using xampp, you will notice the php.ini file has twice mentioned short_open_tag . Enable the second one to short_open_tag = On . The first one is commented out and you might be tempted to uncomment and edit it but it is over-ridden by a second short_open_tag
If you are using xampp in windows then please do following
Open XAMPP control panel.
Click on CONFIG button.
Go to PHP (php.ini) option.
Find short_open_tag using ctrl+f utility
You will found ;short_open_tag
kindly remove the semicolon (;) from line.
and keep it as short_open_tag = on
Finally, restart your Apache server
sed -i "s/short_open_tag = .*/short_open_tag = On/" /etc/php/7.2/apache2/php.ini
That works on php7.2 on ubuntu 16, same answer as above by Bradley Flood, although the directory in which the config file is stored has changed.
Also you can change the version in the php string to match your currently installed version.
For docker add this step to Dockerfile
ARG phpIniPath=/path/to/your/php.ini
RUN sed -i -e 's/^short_open_tag\s*=.*/short_open_tag = On/' $phpIniPath
To enable short_open_tag for a particular domain with php-fpm, you must edit :
/etc/php5/fpm/pool.d/xxxxxxxxxx.conf
Where xxxxx is the socket number of the domain.
And add : php_value[short_open_tag] = On
short_open_tag = On
in php.ini
And restart your Apache Server.
I'v Changed the short_open_tag Off to On on my aws centos 7 instance and php7(PHP 7.0.33 (cli) (built: Dec 6 2018 22:30:44) ( NTS )), but its not reflecting the php info page and the code. So I refer may docs and find a solution on my case. Add an extra line after the short_open_tag as asp_tags = On after that restart Apache It works on the code and I go the output correctly
php.ini file
engine = On
; This directive determines whether or not PHP will recognize code between
; <? and ?> tags as PHP source which should be processed as such. It is
; generally recommended that <?php and ?> should be used and that this feature
; should be disabled, as enabling it may result in issues when generating XML
; documents, however this remains supported for backward compatibility reasons.
; Note that this directive does not control the <?= shorthand tag, which can be
; used regardless of this directive.
; Default Value: On
; Development Value: Off
; Production Value: Off
; http://php.net/short-open-tag
short_open_tag = On
; Allow ASP-style <% %> tags
; http://php.net/asp-tags
asp_tags = On
Set the asp_tags = On and short_open_tag = On in both the files \apache\Apache2.2.21\bin\php.ini and \bin\php\php5.3.8\php.ini and then restart the apache server.

Why does xDebug do not work with Php Storm on Ubuntu?

I have installed xdebug and tried to use it with phpstorm. But it doesn't want work correctly.
I tried to put following settings to /etc/php5/apache/php.ini and /etc/php5/mods-avaible/xdebug.ini:
zend_extension="xdebug.so"
; Debugging
xdebug.remote_enable= 1
xdebug.remote_port= 9000
xdebug.idekey = "PHPSTORM"
; Var-Display
xdebug.var_display_max_children = 2048
xdebug.var_display_max_data = 8192
xdebug.var_display_max_depth = 99
xdebug.max_nesting_level = 3000
I thought the `xdebug.ini should be the correct place for this settings.
Then I restarted apache with sudo service apache2 restart and opened a page where I print out phpinfo(). But as you can see on screenshot - it says all the time netbeans-xdebug.
What can I do? I searched my whole system for other php.ini files, but there aren't any other files.
This is what works for me.
zend_extension="/usr/lib/php5/20121212/xdebug.so"
[xdebug]
xdebug.remote_enable = on
xdebug.profiler_enable = off
xdebug.show_local_vars=0
xdebug.max_nesting_level = 500
But run following command first to locate xdebug.so
locate xdebug.so
and change following line accordingly
zend_extension="/usr/lib/php5/20121212/xdebug.so"
Solution to my problem.
I figured out that in my browser, even after restarting my system (obviously) a cookie XDEBUG_SESSION=netbeans-xdebug was causing this problem.
After deleting it and reloading my phpinfo() page, my new idekey is PHPSTORM and now xdebug works with my ide.
I think the problem was that I installed xdebug and tried it with my ide without setting it up - so (default?) value for idekey was this netbeans-xdebug value. And as soon as the cookie is set, it will ignore php settings as long as this cookie is alive.
It usually happens (if the path to xdebug.so is correct) because the remote_enable is set to off.
xdebug.remote_enable=on
might solve the issue.

How to debug PHP in Notepad++ with DBGp plugin

I am using chrome and mozilla. My editor is Notepad++. I just try to setup a debugger for php. I have followed this link and this link
I found it from SO answers. My steps are
Downloaded `php_xdebug-2.3.2-5.6-vc11-x86_64.dll` and placed inside `php\ext`.
Added the following lines in `php.ini`
zend_extension=php_xdebug-2.3.2-5.5-vc11-x86_64.dll
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_mode=req
xdebug.idekey=default
xdebug.remote_log="c:\temp\xdebug\xdebug.log"
xdebug.show_exception_trace=0
xdebug.show_local_vars=9
xdebug.show_mem_delta=0
xdebug.trace_format=0
xdebug.profiler_enable = 1
xdebug.profiler_output_dir ="c:\temp\xdebug"
Created xdebug folder in temp. My system is windows 64 bit. Php version is 5.6.2. [Restarted Apache - no error]
Then downloaded DBGp plugin and placed dll file inside plugins directory of Notepad++;
[Restarted Npp]
plugins->DBGp -> Config
127.0.0.1 EMPTY htdocspath htdocs path
htdocs path is c:\Users\me\Server\Apache24\htdocs
Set breakpoints and started my page with the paramaeter ?XDEBUG_SESSION_START=debugMe
But it doesn't stop at my break points.
How do i solve this or My ultimate aim is to debug step by step PHP. What are the other options.
I am not really sure of notepad, but I have tried this on netbeans and works ok.
Tip: I tried to use this debugger with netbeans in real projects but sincerely is better do this step by step.
I also use FirebugPHP in console this option is the best for me because does not disturb the view
Following links maybe help you:
https://netbeans.org/kb/docs/php/debugging.html
http://wiki.netbeans.org/HowToConfigureXDebug
http://www.firephp.org/
https://enboliviacom.wordpress.com/2013/03/25/analizar-el-rendimiento-de-las-consultas-sql-en-aplicaciones-php-con-firephp/
I found it worked when I gave the full path of the dll in php.ini
zend_extension="C:\Program Files (x86)\PHP\ext\php_xdebug-2.2.6-5.3-vc9.dll"
I take it you are also setting breakpoints with the DBGp plugin in Notepad - gives red dot in margin. What I also found is that when the debug stops at the line, the green arrow to show the current line is under the red dot and not that obvious.
EDIT:
Use of session.save_path setting also affects DBGp, it only works on the last site mentioned. Therefore make sure the localhost root is mentioned last:
;Application xyz must keep session variables separate
[PATH=C:\inetpub\wwwroot\xyz]
session.save_path = "C:\temp\xyz"
;...etc
;Must have this for DBGp to function on all localhost sites
[PATH=C:\inetpub\wwwroot]
session.save_path = "C:\temp"

Categories