rfc:apxs-loadmodule

Differences

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

Link to this comparison view

Next revision
Previous revision
rfc:apxs-loadmodule [2012/02/21 00:00] – created kriscraigrfc:apxs-loadmodule [2017/09/22 13:28] (current) – external edit 127.0.0.1
Line 1: Line 1:
 ====== Request for Comments: APXS LoadModule Option in configure ====== ====== Request for Comments: APXS LoadModule Option in configure ======
-  * Version: 1.00+  * RFC Version: 1.40 
 +  * Target PHP Version: 5.4.1
   * Date: 2012-02-20   * Date: 2012-02-20
   * Author: Kris Craig <kriscraig@php.net>   * Author: Kris Craig <kriscraig@php.net>
-  * Status: In Draft+  * Status: [[rfc/apxs-loadmodule/results|Accepted]]
   * First Published at: http://wiki.php.net/rfc/apxs-loadmodule   * First Published at: http://wiki.php.net/rfc/apxs-loadmodule
  
Line 10: Line 11:
  
 This RFC proposes the addition of an option to PHP's configure script that allows the user to specify whether they want Apache's main configuration file (heretoafter referred to as, "httpd.conf") appended automatically with the LoadModule statement. This RFC proposes the addition of an option to PHP's configure script that allows the user to specify whether they want Apache's main configuration file (heretoafter referred to as, "httpd.conf") appended automatically with the LoadModule statement.
 +
 +==== Note ====
 +
 +This optional configure switch will essentially just be taking advantage of a feature that is already built-in to APXS.  If this new switch is not specified, the default behavior will be //identical// to what it is now.
  
 ===== Background ===== ===== Background =====
Line 27: Line 32:
 ==== Makefile ==== ==== Makefile ====
  
-APXS is called from the Makefile when you run, "make install" This only applies if you're using mod_php on Apache, of course.  This does not apply to native (i.e. not Cygwin) Windows builds.+APXS is called from the Makefile when you run, "make install" This only applies if you're using mod_php on Apache, of course.  This does not apply to native (i.e. non-Cygwin) Windows builds.
  
 ===== Current Behavior ===== ===== Current Behavior =====
Line 45: Line 50:
 --with-apxs2-hook[=TYPE] : Where TYPE is one of:  "yes", "no", or "commented" [TYPE=yes]. --with-apxs2-hook[=TYPE] : Where TYPE is one of:  "yes", "no", or "commented" [TYPE=yes].
  
-The "yes" option is default if just "--with-apxs2-hook" is specified without a TYPE or if it's not specified at all.  This will ensure backwards-compatibility with pre-made scripts and tutorials that reference the configure script.+The "yes" option is default if just "--with-apxs2-hook" is specified without a TYPE or if it's not specified at all.  This will ensure backwards compatibility with pre-made scripts and tutorials that reference the configure script.
  
 ==== It's Already Written ==== ==== It's Already Written ====
  
-I've already made the changes and tested them successfully on Ubuntu.  However, I was doing this against a 5.4 install so I'll need to re-apply it to 5.3.10 and 5.4(?) then re-test if/when this is approved before I'll post the actual commit.  But I can say at least that I do have a working proof of concept.+I've already made the changes and tested them successfully on Ubuntu.  However, I was doing this against a 5.3.4 install so I'll need to re-apply it to 5.3.10 and 5.4(?) then re-test if/when this is approved before I'll post the actual commit.  But I can say at least that I do have a working proof of concept.
  
 ==== APXS vs. APXS2 ==== ==== APXS vs. APXS2 ====
  
-Currently, I only have this applied to APXS2 (i.e. Apache 2.x).  I have not applied it to APXS (i.e. Apache 1.x).  I can apply it to 1.x as well, though I'd then have to install a working copy of Apache 1.3.x for testing, which would be a minor annoyance.+After prolonged and at-times agonizing consideration, I have decided //not// to include support for the older APXS that comes with Apache 1.3.x.  As such, this new switch will only be applicable to APXS2 (Apache 2.x).  This decision was made for the following reasons:
  
-What do you think?  I can apply it to bothbut are we even still supporting Apache 1.3.x at this point??  I don't want to waste my time doing that if 1.x is considered deprecated.  Please share your thoughts on this in the discussion!  If enough of you think I shouldI'll bite my tongue and do it.+  * Apache 1.3.x was officially "EOL'd" back in 2010.  It is no longer supported by the ASF. 
 +  * According to an informal poll conducted by cPanel about a year ago91% of their users report that they use Apache 2.x instead of 1.3.x in all circumstances.  That number is likely to be even higher today. 
 +  * Of all the requests for this feature I have seen that were posted in recent years, I have not been able to find a single one who was using Apache 1.3.x instead of 2.x. 
 +  * Keeping 1.3.x support for legacy compatibility does not necessitate continuing to apply new features to it.  On the contrary, continuing to expend resources (even a small amount as would be the case this time) supporting something that its makers already EOL'd a long time ago would set a bad precedent. 
 +  * When repeatedly asked on the listserv, nobody in the PHP community expressed support for applying this to Apache 1.3.x as well. 
 +  * Given current sentiment, it is reasonable to predict that the PHP community will opt to officially deprecate Apache 1.3.x in the relatively near future. 
 + 
 +For the above reasons, this new optional switch will not be made available for Apache 1.3.x.  Instead, its configure options will remain unchanged.
  
 ===== Final Thoughts ===== ===== Final Thoughts =====
  
-This should make PHP just a little bit easier to manage without any adverse consequences (at least, none that I can think of).+This should make PHP just a little bit easier to manage without any adverse consequences.  It simply makes available to PHP users a feature that is already built-in to APXS.
  
 It occurred to me that the next logical step would be to expand this so that the user could opt to create a separate configuration file (i.e. php.conf) and have an include directive added to httpd.conf if it's not already there.  Unfortunately, it looks like APXS does not currently support this.  It just assumes httpd.conf.  So any discussion about that approach would, presumably, first have to take place within the Apache project.  In the meantime, we can at least take advantage of what's already there. It occurred to me that the next logical step would be to expand this so that the user could opt to create a separate configuration file (i.e. php.conf) and have an include directive added to httpd.conf if it's not already there.  Unfortunately, it looks like APXS does not currently support this.  It just assumes httpd.conf.  So any discussion about that approach would, presumably, first have to take place within the Apache project.  In the meantime, we can at least take advantage of what's already there.
 +
 +===== Vote =====
 +
 +[[rfc/apxs-loadmodule/results|Click here to view the results]].
  
 ===== Changelog ===== ===== Changelog =====
 +
 +Version 1.40 : Status => [[rfc/apxs-loadmodule/results|Accepted]].
 +
 +Version 1.30 : Voting.
 +
 +Version 1.21 : Typo correction.
 +
 +Version 1.20 : Content revisions based on PHP Internals discussions.  Posted decision on APXS vs. APXS2 question.
 +
 +Version 1.10 : Status => Under Discussion.
 +
 +Version 1.01 : Typo corrections.
  
 Version 1.00 : Initial proposal. Version 1.00 : Initial proposal.
  
rfc/apxs-loadmodule.1329782458.txt.gz · Last modified: 2017/09/22 13:28 (external edit)