rfc:phpdbg

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
rfc:phpdbg [2013/11/30 10:38] – [Introduction] krakjoerfc:phpdbg [2017/09/22 13:28] (current) – external edit 127.0.0.1
Line 5: Line 5:
   * Author: Joe Watkins <krakjoe@php.net>   * Author: Joe Watkins <krakjoe@php.net>
   * Author: Felipe Pena <felipe@php.net>   * Author: Felipe Pena <felipe@php.net>
-  * Status: Under Discussion+  * Status: Voting
   * First Published at: http://wiki.php.net/rfc/phpdbg   * First Published at: http://wiki.php.net/rfc/phpdbg
  
Line 39: Line 39:
  phpdbg> b on ($expression == true)  phpdbg> b on ($expression == true)
  Will break when the condition evaluates to true  Will break when the condition evaluates to true
 +
 + phpdbg> break at phpdbg::isGreat if ($condition)
 + phpdbg> b at phpdbg::isGreat if ($condition)
 + Will break in phpdbg::isGreat as specified, can take a function/method/file:line
  
  phpdbg> break op ZEND_ADD  phpdbg> break op ZEND_ADD
Line 100: Line 104:
 ===== Proposal ===== ===== Proposal =====
  
-Felipe Pena and I have recently developed a debugging platform for PHPdevelopment continues ...+phpdbg could (should) be included in the distribution in the /sapi folderit makes no changes to any other SAPI.
  
-It could (shouldbe included in the distribution in the /sapi folder, it makes no changes to any other SAPI.+The reason it should be included is, as a SAPI module, it is quite difficult to distribute phpdbg to a large audience.
  
-There will be a great benefit to everyone in having a debugger distributed with PHP. +The debugging environment is self contained within that executablewithout requiring changes to any other binaries or librarieswith no need to share configurations it's installation is non-intrusive.
- +
-Usually, the content of an RFC is used for the basis for documentation of a feature if it is merged;  +
- +
-I ask in this case we make an exceptiondocumenting the use of a debugger is a huge tasknot suited for these pages. +
-We will of course write documentation, lots of it, in the manual should it be merged, in the mean time the brief documentation we have written is on phpdbg.com and will remain there whatever happens.  +
- +
-This is a brief proposal to get the conversation started, I am busy ... anything you might want to know about the software can be read in source or on the phpdbg website. +
- +
-http://phpdbg.com +
- +
-If anything requires clarification, find me in the usual places ...+
  
 +phpdbg can be merged into 5.6+ as it has already been patched, 5.5 would require a small change ... that boat has probably sailed ...
 ===== Backward Incompatible Changes ===== ===== Backward Incompatible Changes =====
  
Line 123: Line 117:
 ===== Proposed PHP Version(s) ===== ===== Proposed PHP Version(s) =====
  
-ASAP+5.6 
 + 
 +Note: it would be nice if 5.5 could get phpdbg too, but requires a patch that might cause ABI incompatibiilty issues caused by new exports.
  
 ===== SAPIs Impacted ===== ===== SAPIs Impacted =====
Line 131: Line 127:
 ===== Impact to Existing Extensions ===== ===== Impact to Existing Extensions =====
  
-None+Opcache requires the following patch to support phpdbg: http://pastebin.com/caPW9tVx 
 + 
 +Note: that list should be a blacklist, it's more forward compatible, the assumption that it doesn't work with new SAPI's is illogical. 
 + 
 +This limitation, which may have an affect on userland software where php_sapi_name() is used, can be mitigated using the -S option to override the SAPI name.
  
 +Note that, overriding the SAPI name only changes the name as reported to the rest of the engine; //it does not use any of the structures from the SAPI requested//
 ===== New Constants ===== ===== New Constants =====
  
Line 167: Line 168:
  
 The phpdbg codebase is compatible with 5.4+ The phpdbg codebase is compatible with 5.4+
 +
 +===== Impact to phpdbg =====
 +
 +If phpdbg is bundled, it means that it must follow the release cycle of PHP itself; we're not sure if this will create any problem - every other SAPI manages it, and there's no particular reason to think this is any more complex. Tyrael had the rather clever idea that should the need arise for a different release cycle, phpdbg can have its build process changes such that the base SAPI is bundled and the functionality it provides is contained in a Zend Extension, thus freeing phpdbg from PHP's release cycle.
 +
 +This is definitely the way we will go, should the need arise, however, we would prefer not to have to disturb the build process or code base unnecessarily.
  
 ===== Proposed Voting Choices ===== ===== Proposed Voting Choices =====
Line 184: Line 191:
  
 N/A N/A
 +
 +===== Vote =====
 +
 +<doodle title="Distribute phpdbg with PHP5.6+" auth="krakjoe" voteType="single" closed="true">
 +   * Yes
 +   * No
 +</doodle>
 +
 +Voting commenced December 11th 2013, closing December 18th 2013. 
rfc/phpdbg.1385807906.txt.gz · Last modified: 2017/09/22 13:28 (external edit)