View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0001374||Xdebug||Remote Debugging||public||2016-12-03 11:30||2017-12-20 16:43|
|Reporter||Radek Suski||Assigned To||derick|
|Status||resolved||Resolution||unable to reproduce|
|Platform||Raspberry PI||OS||raspbian||OS Version||4.4|
|Target Version||Fixed in Version|
|Summary||0001374: XDebug seems to be overwriting thee __FILE__ and __DIR__ constants|
|Description||as in the summary.|
|Steps To Reproduce||Well, this is a bit strange because I know it worked before but suddenly when I am trying to debug within Joomla! my own library those constants containing values as follow:|
__FILE__ = xdebug://debug-eval
__DIR__ = xdebug:
|Tags||No tags attached.|
|Operating System||macOS 10.12.1 (16B2555)|
BTW: I am apparently not the only one:
Additionally because every time I wrote it people assuming I am using "eval", so just to clarify I don't
For debugging I am using phpStorm 2016.2.2
thanks for the report. In order to find and fix the bug, I really do need a reproducible case. As this seems to be a remote debugging issues, please refer to https://xdebug.org/support.php#remote as to what I would require.
Sure thing, here is the script: https://gist.github.com/Radek-Suski/660a8b820c98763304fa8617fa7c77d1
Here is the log file: https://www.dropbox.com/s/kq5sst1maot4he4/xdebug-log.log?dl=0
What really weird, I just realised, that debugging this script gives following results:
__FILE__ = "xdebug://debug-eval"
__DIR__ = "xdebug:"
$file = "/www/Neo/libraries/Sobi/index.php"
$dir = "/www/Neo/libraries/Sobi"
$dirname = "/www/Neo/libraries/Sobi"
Which means that if I assign those constants to variables, those variables are having correct values.
I see what happens now. You have these in the "Watches" field. PhpStorm handles watches by running the DBGp "eval" command. In the log, that looks like:
<- eval -i 62 -- JEdMT0JBTFNbJ0lERV9FVkFMX0NBQ0hFJ11bJzlmNmZiNjcxLWU0ZWItNDIyNy04Mzc2LTNhNjNkZDNiMmNmMCddPV9fRElSX18=
As the eval command really just calls PHP's eval, you get the same result:
$ php -r "echo eval('echo __FILE__;');"
Command line code(1) : eval()'d code
Xdebug *does* replace the "Command line code(1) : eval()'d code" with "xdebug://debug-eval" though.
This is something I can not change.
@derick Thank for your answer. Yet I am not sure if you are entirely correct. Yes, I have it in watches. But even if, the logical execution is failing. I am asking:
and it returns "false". It can't be just because I have it in my "watches" because at the first time I was debugging my case, it wasn't
||No, it can't be because it's in watches. But that "file_exists" would only file for real reasons. If you can reproduce this, I would use "strace -o /tmp/strace.log php script.php" and see for which file it is doing a "stat".|
||I know for sure that this file exists. That's how I figured out this issue|
||Okay - I would definitely use the strace then. There *must* be something why PHP thinks it's not there, and strace is your only hope I think.|
||no problem. I will try to deliver it soon. Thank you very much|
||(Changing it to feedback until you do).|
||I am closing this, as I can't reproduce this, and the requested feedback has not been given. Please feel free to reopen this if you can provide more information as requested.|
||This error is repeated for me! How can I fix it? xdebug 2.5.5-1|
|2016-12-03 11:30||Radek Suski||New Issue|
|2016-12-03 11:39||Radek Suski||Note Added: 0003874|
|2016-12-03 12:46||derick||Note Added: 0003875|
|2016-12-03 12:46||derick||Assigned To||=> derick|
|2016-12-03 12:46||derick||Status||new => feedback|
|2016-12-03 13:21||Radek Suski||Note Added: 0003882|
|2016-12-03 13:21||Radek Suski||Status||feedback => assigned|
|2016-12-04 17:33||derick||Note Added: 0003924|
|2016-12-04 17:33||derick||Status||assigned => resolved|
|2016-12-04 17:33||derick||Resolution||open => not fixable|
|2016-12-04 17:39||Radek Suski||Note Added: 0003925|
|2016-12-04 17:39||Radek Suski||Status||resolved => feedback|
|2016-12-04 17:39||Radek Suski||Resolution||not fixable => reopened|
|2016-12-04 17:54||derick||Note Added: 0003927|
|2016-12-04 17:54||derick||Status||feedback => resolved|
|2016-12-04 17:54||derick||Resolution||reopened => no change required|
|2016-12-04 18:50||Radek Suski||Note Added: 0003928|
|2016-12-04 18:50||Radek Suski||Status||resolved => feedback|
|2016-12-04 18:50||Radek Suski||Resolution||no change required => reopened|
|2016-12-04 19:09||derick||Note Added: 0003929|
|2016-12-04 19:11||Radek Suski||Note Added: 0003930|
|2016-12-04 19:11||Radek Suski||Status||feedback => assigned|
|2016-12-05 14:19||derick||Note Added: 0003943|
|2016-12-05 14:19||derick||Status||assigned => feedback|
|2017-01-03 18:49||derick||Note Added: 0004128|
|2017-02-07 17:08||derick||Note Added: 0004200|
|2017-02-07 17:08||derick||Status||feedback => resolved|
|2017-02-07 17:08||derick||Resolution||reopened => unable to reproduce|
|2017-12-20 16:43||spiritabsolute||Note Added: 0004523|