Commit 2869551e62c for php.net
commit 2869551e62c5a177a14b4907738d147764351c9d
Author: Paul Menzel <pmenzel@molgen.mpg.de>
Date: Fri Jun 12 17:04:46 2026 +0200
sapi/apache2handler: Add --disable-apache2-conf configure option (#22095)
Add a new --disable-apache2-conf option that prevents apxs from editing
httpd.conf during installation. When SYSCONFDIR is non-empty, apxs is
invoked with -a, which requires httpd.conf to exist at the target path.
This fails when installing into a staging directory (INSTALL_ROOT) where
no `httpd.conf` exists but apxs is present and works, and is also
unwanted on distributions [like Debian][1] that manage Apache module
activation separately (e.g. via a2enmod).
[1]: https://salsa.debian.org/php-team/php/-/blob/9bd72dc78216cf136315d765ec3a602ac99e60e3/debian/patches/0030-Add-patch-to-install-php7-module-directly-to-APXS_LI.patch
Assisted-by: Claude Sonnet 4.6
diff --git a/sapi/apache2handler/config.m4 b/sapi/apache2handler/config.m4
index e335721f19e..3001a4d61d9 100644
--- a/sapi/apache2handler/config.m4
+++ b/sapi/apache2handler/config.m4
@@ -6,6 +6,15 @@ PHP_ARG_WITH([apxs2],
[no],
[no])
+PHP_ARG_ENABLE([apache2-conf],
+ [whether to activate the PHP module in Apache httpd.conf via apxs],
+ [AS_HELP_STRING([--disable-apache2-conf],
+ [Do not activate the PHP module in the Apache httpd.conf during installation
+ via apxs. Useful when installing into a staging directory or when Apache
+ configuration is managed separately (e.g., via a2enmod).])],
+ [yes],
+ [no])
+
if test "$PHP_APXS2" != "no"; then
AS_VAR_IF([PHP_APXS2], [yes], [
APXS=apxs
@@ -69,7 +78,7 @@ if test "$PHP_APXS2" != "no"; then
[AC_MSG_ERROR([Please note that Apache version >= 2.4 is required])])
APXS_LIBEXECDIR='$(INSTALL_ROOT)'$($APXS -q LIBEXECDIR)
- if test -z $($APXS -q SYSCONFDIR); then
+ if test -z $($APXS -q SYSCONFDIR) || test "$PHP_APACHE2_CONF" = "no"; then
INSTALL_IT="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \
$APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \
-i -n php"