[mapguide-commits] r9967 - in sandbox/jng/vanilla_swig: . Bindings Bindings/src Bindings/src/Bindings/Java Bindings/src/Bindings/Php Oem/LinuxApt cmake/configs

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Thu Sep 8 06:01:09 PDT 2022


Author: jng
Date: 2022-09-08 06:01:08 -0700 (Thu, 08 Sep 2022)
New Revision: 9967

Removed:
   sandbox/jng/vanilla_swig/Oem/LinuxApt/build_apt.sh
Modified:
   sandbox/jng/vanilla_swig/Bindings/TODO.txt
   sandbox/jng/vanilla_swig/Bindings/src/Bindings/Java/CMakeLists.txt
   sandbox/jng/vanilla_swig/Bindings/src/Bindings/Php/CMakeLists.txt
   sandbox/jng/vanilla_swig/Bindings/src/CMakeLists.txt
   sandbox/jng/vanilla_swig/cmake/configs/mapguide.conf.in
   sandbox/jng/vanilla_swig/cmake/configs/php.ini.in
   sandbox/jng/vanilla_swig/cmake_bootstrap.sh
   sandbox/jng/vanilla_swig/cmake_linuxapt.sh
Log:
- Remove Oem/LinuxApt/build_apt.sh as cmake_linuxapt.sh is now the canonical build script to build these components
- Update cmake_bootstrap.sh to download the SWIG source archive to /tmp/download so that if building within a docker container, we can volume mount /tmp/download externally so that we don't have to repeatedly download this archive if building within a container
- Ensure proper lib dir install location for SWIG binding targets
- Update base php.ini.in cmake template to use the PHP 8.1 production default config
- Fix expected PHP handler in httpd config. PHP 8.1 now works!
- Update TODO again

Modified: sandbox/jng/vanilla_swig/Bindings/TODO.txt
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/TODO.txt	2022-09-02 15:54:56 UTC (rev 9966)
+++ sandbox/jng/vanilla_swig/Bindings/TODO.txt	2022-09-08 13:01:08 UTC (rev 9967)
@@ -39,6 +39,7 @@
  - Java binding
    - [ ] Running javadoc against the generated sources produces many errors. See if we can fix them
    - [x] Verify test suite still passes (Windows)
+   - [ ] Tomcat/JSP now working on Linux, but none of the JSP code compiles (lots of <MapGuide API symbol> cannot be resolved)
    - [ ] Verify test suite still passes (Linux)
  - [ ] Migrate to SWIG 4.1.0 (https://github.com/jumpinjackie/mapguide-api-bindings/issues/36)
    - [x] SWIG 4.1 has not been released yet, so migrate to swig git master
@@ -70,11 +71,8 @@
    - [ ] Verify test suite still passes (Linux)
    - It should be possible to now get rid of constants.php and define our various constants in the PHP extension itself!
       - [x] Pivot IMake to instead generate a SWIG interface file of constant class defns to be included in the main SWIG interface file
-   - [ ] (Linux) update php.ini.in cmake template to be based on a production PHP 8.1 config (it is still based on a PHP 5.6 one)
-   - (Linux) Build and include mod_fcgid
-      - [ ] Add mod_fcgid sources to Oem/LinuxApt
-      - [ ] Ensure LinuxApt build script also builds mod_fcgid
-      - [ ] Ensure the generated httpd.conf uses the same FastCGI setup for PHP
+   - [x] (Linux) update php.ini.in cmake template to be based on a production PHP 8.1 config (it is still based on a PHP 5.6 one)
+   - [x] (Linux) Remove Oem/LinuxApt/build_apt.sh
  - Fix up existing web apps
    - [x] mapviewerjava
    - [x] mapviewerphp
@@ -109,7 +107,7 @@
      - Add assembly reference to netstandard
      - Enable legacy request validation mode
      - Target .net Framework 4.8
- - [ ] Document cases where APIs have been renamed on certain language targets
+ - [x] Document cases where APIs have been renamed on certain language targets
    - MgCoordinateSystemMeasure
       - GetDistance -> GetDistanceSimple
       - GetAzimuth -> GetAzimuthSimple

Modified: sandbox/jng/vanilla_swig/Bindings/src/Bindings/Java/CMakeLists.txt
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Bindings/Java/CMakeLists.txt	2022-09-02 15:54:56 UTC (rev 9966)
+++ sandbox/jng/vanilla_swig/Bindings/src/Bindings/Java/CMakeLists.txt	2022-09-08 13:01:08 UTC (rev 9967)
@@ -74,6 +74,7 @@
 add_dependencies(MapGuideJavaApi${MG_VERSION_SUFFIX} IMake)
 
 if (UNIX)
+    message(STATUS "MapGuideJavaApi will install to: ${LIB_INSTALL_DIR}")
     install(TARGETS MapGuideJavaApi${MG_VERSION_SUFFIX} DESTINATION ${LIB_INSTALL_DIR} COMPONENT ${MG_COMPONENT})
     install_symlink(libMapGuideJavaApi${MG_VERSION_SUFFIX}.so libMapGuideJavaApi.so ${MG_COMPONENT})
     set(MG_JARS

Modified: sandbox/jng/vanilla_swig/Bindings/src/Bindings/Php/CMakeLists.txt
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Bindings/Php/CMakeLists.txt	2022-09-02 15:54:56 UTC (rev 9966)
+++ sandbox/jng/vanilla_swig/Bindings/src/Bindings/Php/CMakeLists.txt	2022-09-08 13:01:08 UTC (rev 9967)
@@ -77,6 +77,7 @@
 )
 
 if (UNIX)
+    message(STATUS "php_MapGuideApi will install to: ${LIB_INSTALL_DIR}")
     install(TARGETS php_MapGuideApi${MG_VERSION_SUFFIX} DESTINATION ${LIB_INSTALL_DIR} COMPONENT ${MG_COMPONENT})
     install_symlink(${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}/libphp_MapGuideApi${MG_VERSION_SUFFIX}.so libphp_MapGuideApi.so ${MG_COMPONENT})
 endif (UNIX)
@@ -83,16 +84,16 @@
 target_link_libraries(php_MapGuideApi${MG_VERSION_SUFFIX}
     ${ACE_LIBRARY}
     ${PHP_LIBRARY}
-    ${MG_FOUNDATION_LIBRARY}
-    ${MG_GEOMETRY_LIBRARY}
-    ${MG_PLATFORMBASE_LIBRARY}
-    ${MG_COMMON_LIBRARY}
-    ${MG_HTTPHANDLER_LIBRARY}
-    ${MG_WEBAPP_LIBRARY}
-    ${MG_MDFMODEL_LIBRARY}
-    ${MG_MDFPARSER_LIBRARY}
-    ${MG_WEBSUPPORT_LIBRARY}
+    MgFoundation${MG_VERSION_SUFFIX}
+    MgGeometry${MG_VERSION_SUFFIX}
+    MgPlatformBase${MG_VERSION_SUFFIX}
+    MgMapGuideCommon${MG_VERSION_SUFFIX}
+    MgHttpHandler${MG_VERSION_SUFFIX}
+    MgMdfModel${MG_VERSION_SUFFIX}
+    MgMdfParser${MG_VERSION_SUFFIX}
     ${XERCESC_LIBRARIES}
+    MgWebApp${MG_VERSION_SUFFIX}
+    MgWebSupport${MG_VERSION_SUFFIX}
 )
 
 file(COPY "php.i" DESTINATION ${CMAKE_CURRENT_BINARY_DIR})

Modified: sandbox/jng/vanilla_swig/Bindings/src/CMakeLists.txt
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/CMakeLists.txt	2022-09-02 15:54:56 UTC (rev 9966)
+++ sandbox/jng/vanilla_swig/Bindings/src/CMakeLists.txt	2022-09-08 13:01:08 UTC (rev 9967)
@@ -1,6 +1,12 @@
 set(MG_COMPONENT ${MG_COMPONENT_COMMON})
-set_install_subdir("")
 
+if (NOT MG_COMMON_SUBSET_ONLY)
+    # As these are bindings to the Web API, the libs need to sit at the same level as where HttpHandler and WebSupport resides
+    set_install_subdir("webserverextensions/")
+else (NOT MG_COMMON_SUBSET_ONLY) # For the common subset we want all the libs to be collected into a single place
+    set_install_subdir("")
+endif (NOT MG_COMMON_SUBSET_ONLY)
+
 # Do not allow for the possibility of undefined symbols
 if( CMAKE_COMPILER_IS_GNUCXX )
     if (NEED_LIBRT)

Deleted: sandbox/jng/vanilla_swig/Oem/LinuxApt/build_apt.sh
===================================================================
--- sandbox/jng/vanilla_swig/Oem/LinuxApt/build_apt.sh	2022-09-02 15:54:56 UTC (rev 9966)
+++ sandbox/jng/vanilla_swig/Oem/LinuxApt/build_apt.sh	2022-09-08 13:01:08 UTC (rev 9967)
@@ -1,534 +0,0 @@
-#! /bin/bash
-#
-
-# MapGuide Open Source Apache, Php, Tomcat Build Script
-#
-#**********************************************************
-# Initialization
-#**********************************************************
-
-echo
-echo "MapGuide Open Source build/install script for Apache, Php, Tomcat"
-echo "-----------------------------------------------------------------"
-echo
-
-INSTALLDIR=/usr/local/mapguideopensource
-
-HTTPD_VER=2.4.52
-PHP_VER=5.6.40
-TOMCAT_VER=9.0.37
-CONNECTOR_VER=1.2.48
-APR_VER=1.7.0
-APR_UTIL_VER=1.6.1
-PORT=8008
-TOMCAT=0
-TOMCAT_PORT=8009
-START_HTTPD=0
-START_TOMCAT=0
-
-while [ $# -gt 0 ]; do    # Until you run out of parameters . . .
-  case "$1" in
-    -port|--port)
-              PORT="$2"
-              shift
-              ;;
-    -tomcat-port|--tomcat-port)
-              TOMCAT_PORT="$2"
-              shift
-              ;;
-    -prefix|--prefix)
-              INSTALLDIR="$2"
-              shift
-              ;;
-    -with-tomcat|--with-tomcat)
-              TOMCAT=1
-              shift
-              ;;
-    -start-tomcat|--start-tomcat)
-              START_TOMCAT=1
-              shift
-              ;;
-    -start-httpd|--start-httpd)
-              START_HTTPD=1
-              shift
-              ;;
-    -help|--help)
-              echo "Usage: $0 (options)"
-              echo "Options:"
-              echo "  --port [Apache port number]"
-              echo "  --prefix [installation directory]"
-              echo "  --start-httpd Automatically start httpd once compiled"
-              echo "  --with-tomcat Configure and install Tomcat"
-              echo "  --tomcat-port [Tomcat port number]"
-              echo "  --start-tomcat Automatically start tomcat once configured"
-              echo "  --help Display usage"
-              exit 0
-              ;;
-  esac
-  shift       # Check next set of parameters.
-done
-
-INSTALLWEB=$INSTALLDIR/webserverextensions
-
-echo "Apache will be built/installed to $INSTALLWEB/apache2."
-echo "Php will be built/installed to $INSTALLWEB/php."
-if [ "$TOMCAT" = "1" ]; then
-  echo "Tomcat will be installed to $INSTALLWEB/tomcat."
-fi
-echo
-echo "Apache will be configured to run on port $PORT."
-if [ "$TOMCAT" = "1" ]; then
-  echo "Tomcat will be configured to run on port $TOMCAT_PORT."
-fi
-
-
-# exit status of previous command
-#echo $? 
-
-check_apache_build ()
-{
-  error=$?
-  if [ $error -ne 0 ]; then
-    echo "Apache build failed ($error)."
-    exit $error
-  fi
-}
-
-check_php_build ()
-{
-  error=$?
-  if [ $error -ne 0 ]; then
-    echo "Php build failed ($error)."
-    exit $error
-  fi
-}
-
-check_apache_install ()
-{
-  error=$?
-  if [ $error -ne 0 ]; then
-    echo "Apache install failed ($error)."
-    exit $error
-  fi
-}
-
-check_php_install ()
-{
-  error=$?
-  if [ $error -ne 0 ]; then
-    echo "Php install failed ($error)."
-    exit $error
-  fi
-}
-
-check_tomcat_build ()
-{
-  error=$?
-  if [ $error -ne 0 ]; then
-    echo "Tomcat build failed ($error)."
-    exit $error
-  fi
-}
-
-check_tomcat_install ()
-{
-  error=$?
-  if [ $error -ne 0 ]; then
-    echo "Tomcat install failed ($error)."
-    exit $error
-  fi
-}
-
-#**********************************************************
-# Apache build procedure
-# Notes: Be sure to install pcre-devel (on CentOS) or an
-# equivalent library in other Linux distributions
-#**********************************************************
-echo "Apache Httpd build started"
-tar -jxf httpd-$HTTPD_VER.tar.bz2
-if [ ! -d "httpd-$HTTPD_VER/srclib/apr" ]; then
-	tar -jxf apr-$APR_VER.tar.bz2
-	mv apr-$APR_VER httpd-$HTTPD_VER/srclib/apr
-fi
-if [ ! -d "httpd-$HTTPD_VER/srclib/aprutil" ]; then
-	tar -jxf apr-util-$APR_UTIL_VER.tar.bz2
-	mv apr-util-$APR_UTIL_VER httpd-$HTTPD_VER/srclib/apr-util
-fi
-pushd httpd-$HTTPD_VER
-./configure --prefix=$INSTALLWEB/apache2 --enable-mods-shared=all \
---with-included-apr --with-port=$PORT
-check_apache_build
-make
-check_apache_build
-popd
-echo "Apache Httpd build completed"
-
-#**********************************************************
-# Apache shutdown  procedure
-# Notes: none
-#**********************************************************
-echo "Checking for existing Apache install"
-if [ -d $INSTALLWEB/apache2/bin ]; then
-  echo "Attempting to shutdown Apache"
-  pushd $INSTALLWEB/apache2/bin
-  ./apachectl stop
-  popd
-  echo "Attempting to remove old Apache and Php"
-  pushd $INSTALLWEB
-  rm -rf apache2
-  rm -rf php
-  popd
-  echo "Completed uninstall of Apache and Php"
-fi
-
-#**********************************************************
-# Apache install procedure
-# Notes: none
-#**********************************************************
-echo "Apache install started"
-pushd httpd-$HTTPD_VER
-make install
-check_apache_install
-popd
-
-pushd $INSTALLWEB/apache2/conf
-# Prep httpd.conf to read mapguide configuration
-echo "" > tmpfile
-echo "Include conf/mapguide.conf" >> tmpfile
-cp httpd.conf httpd.conf.mgorig_
-cat httpd.conf.mgorig_ tmpfile > httpd.conf
-rm httpd.conf.mgorig_
-popd
-
-echo "Apache install completed"
-
-pushd $INSTALLWEB/apache2/conf
-cat > mapguide.conf <<END-OF-CONFIGURATION
-
-
-END-OF-CONFIGURATION
-
-popd
-
-# Create dummy mapagent.fcgi and symlinks for module.
-mkdir -p $INSTALLWEB/www/mapagent
-mkdir $INSTALLWEB/bin
-pushd $INSTALLWEB/www/mapagent
-cat > mapagent.fcgi <<END-OF-FCGI
-// Empty file.  IIS application mappings and Apache script aliases are
-used to bind this file to the actual MapAgent binaries
-END-OF-FCGI
-popd
-
-mkdir -p $INSTALLWEB/lib
-pushd $INSTALLWEB/apache2/modules
-ln -s ../../lib/mod_mgmapagent.so mod_mgmapagent.so
-popd
-
-#**********************************************************
-# Php build procedure
-# Notes: none
-#**********************************************************
-echo "Php build started"
-tar -jxf php-$PHP_VER.tar.bz2
-pushd php-$PHP_VER
-./configure --prefix=$INSTALLWEB/php --with-apxs2=$INSTALLWEB/apache2/bin/apxs --with-openssl \
---with-curl --enable-xml --enable-wddx --enable-shared  \
---enable-safe-mode --with-zlib --enable-zip --enable-mbstring=all --with-xsl=/usr/lib --with-gd --with-png --with-jpeg --with-freetype
-check_php_build
-make
-check_php_build
-popd
-echo "Php build completed"
-
-#**********************************************************
-# Php install procedure
-# Notes: none
-#**********************************************************
-echo "Php install started"
-pushd php-$PHP_VER
-make install
-check_php_install
-popd
-echo "Php install completed"
-
-#**********************************************************
-# Tomcat connector build/install procedure
-# Notes: none
-#**********************************************************
-if [ "$TOMCAT" = "1" ]; then
-echo "Tomcat connector build/install started"
-tar -zxf tomcat-connectors-$CONNECTOR_VER-src.tar.gz
-pushd tomcat-connectors-$CONNECTOR_VER-src/native
-
-./configure --with-apxs=$INSTALLWEB/apache2/bin/apxs
-check_tomcat_build
-make
-check_tomcat_build
-make install
-check_tomcat_install
-popd
-echo "Tomcat connector build/install completed"
-fi
-
-#**********************************************************
-# Tomcat install procedure
-# Notes: none
-#**********************************************************
-if [ "$TOMCAT" = "1" ]; then
-echo "Tomcat install started"
-tar -zxf apache-tomcat-$TOMCAT_VER.tar.gz -C $INSTALLWEB
-check_tomcat_install
-pushd $INSTALLWEB
-mv apache-tomcat-$TOMCAT_VER tomcat
-check_tomcat_install
-popd
-echo "Tomcat install completed"
-fi
-
-#**********************************************************
-# Configuration file updates for Apache
-# Notes: none
-#**********************************************************
-
-echo "Apache configuration started"
-
-pushd $INSTALLWEB/apache2/conf
-# Prep httpd.conf to read mapguide configuration
-echo "" > tmpfile
-echo "Include conf/mapguide.conf" >> tmpfile
-cp httpd.conf httpd.conf.mgorig_
-# Activate mod_rewrite
-sed -i "s/#LoadModule rewrite_module modules\/mod_rewrite.so/LoadModule rewrite_module modules\/mod_rewrite.so/g" httpd.conf.mgorig_
-cat httpd.conf.mgorig_ tempfile > httpd.conf
-rm httpd.conf.mgorig_
-popd
-
-# Required modifications for envvars
-pushd $INSTALLWEB/apache2/bin
-cat >> envvars <<END-OF-ENVVARS
-export LD_LIBRARY_PATH=$INSTALLWEB/lib:$INSTALLWEB/php/lib:$INSTALLDIR/lib
-export MENTOR_DICTIONARY_PATH=$INSTALLDIR/share/gis/coordsys
-END-OF-ENVVARS
-popd
-
-# Required modifications to httpd.conf, append to mapguide.conf
-pushd $INSTALLWEB/apache2/conf
-cat >> mapguide.conf <<END-OF-CONFIGURATION
-
-# Environment variables for MapGuide
-SetEnv LD_LIBRARY_PATH "$INSTALLWEB/lib:$INSTALLWEB/php/lib:$INSTALLDIR/lib"
-SetEnv MENTOR_DICTIONARY_PATH "$INSTALLDIR/share/gis/coordsys"
-
-LoadModule mgmapagent_module modules/mod_mgmapagent.so
-
-RewriteEngine On
-
-#START NormalCGI PHP configuration
-#ScriptAlias /php/ "$INSTALLWEB/php/bin/"
-#Action application/x-httpd-php "/php/php"
-#AddType application/x-httpd-php .php
-#END NormalCGI PHP configuration
-
-# CGI agent alias
-#ScriptAlias /mapguide/mapagent/mapagent.fcgi "$INSTALLWEB/www/mapagent/mapagent"
-
-# mapviewerajax to mapviewerphp rewrite rules
-# comment out for java api/viewer
-RewriteRule ^/mapguide/mapviewerajax/([^\?])(.*)$ /mapguide/mapviewerphp/\$1\$2 [PT]
-RewriteRule ^/mapguide/mapviewerajax/(.*)$ /mapguide/mapviewerphp/ajaxviewer.php\$1 [PT]
-RewriteRule ^/mapguide/mapviewerdwf/([^\?])(.*)$ /mapguide/mapviewerphp/\$1\$2 [PT]
-RewriteRule ^/mapguide/mapviewerdwf/(.*)$ /mapguide/mapviewerphp/dwfviewer.php\$1 [PT]
-
-# mapviewerajax to mapviewerjava aliases
-# uncomment for java api/viewer
-#RewriteRule ^/mapguide/mapviewerajax/([^\?])(.*)$ /mapguide/mapviewerjava/\$1\$2 [PT]
-#RewriteRule ^/mapguide/mapviewerajax/(.*)$ /mapguide/mapviewerjava/ajaxviewer.jsp\$1 [PT]
-#RewriteRule ^/mapguide/mapviewerdwf/([^\?])(.*)$ /mapguide/mapviewerjava/\$1\$2 [PT]
-#RewriteRule ^/mapguide/mapviewerdwf/(.*)$ /mapguide/mapviewerjava/dwfviewer.jsp\$1 [PT]
-
-Alias /mapguide "$INSTALLWEB/www/"
-
-<Directory "$INSTALLWEB/www/">
-  AllowOverride All
-  Options All
-  Require all granted
-
-  AddHandler php5-script .php
-  AddHandler mgmapagent_handler fcgi
-
-  RewriteEngine on
-  RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization},L]
-</Directory>
-
-END-OF-CONFIGURATION
-popd
-
-echo "Apache configuration completed"
-
-#**********************************************************
-# Tomcat configuration procedure
-# Notes: none
-#**********************************************************
-if [ "$TOMCAT" = "1" ]; then
-echo "Tomcat configuration started"
-pushd $INSTALLWEB/apache2/conf
-cat >> mapguide.conf <<END-OF-CONFIGURATION
-
-#Tomcat Integration
-# Load mod_jk module
-# Update this path to match your modules location
-LoadModule    jk_module  modules/mod_jk.so
-# Declare the module for <IfModule directive> (remove this line on Apache 2.x)
-# AddModule     mod_jk.c
-# Where to find workers.properties
-# Update this path to match your conf directory location (put workers.properties next to httpd.conf)
-JkWorkersFile "$INSTALLWEB/apache2/conf/workers.properties"
-# Where to put jk logs
-# Update this path to match your logs directory location (put mod_jk.log next to access_log)
-JkLogFile     "$INSTALLWEB/apache2/logs/mod_jk.log"
-# Set the jk log level [debug/error/info]
-JkLogLevel    info
-# Select the log format
-JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
-# JkOptions indicate to send SSL KEY SIZE, 
-JkOptions     +ForwardKeySize +ForwardURICompat -ForwardDirectories
-# JkRequestLogFormat set the request format 
-JkRequestLogFormat     "%w %V %T"
-# Send everything for context /examples to worker named worker1 (ajp13)
-JkMount  /mapguide/mapviewerjava/* worker1
-JkMount  /mapguide/javaviewersample/* worker1
-
-END-OF-CONFIGURATION
-
-cat > workers.properties <<END-OF-CONFIGURATION
-# Define 1 real worker using ajp13
-worker.list=worker1
-# Set properties for worker1 (ajp13)
-worker.worker1.type=ajp13
-worker.worker1.host=localhost
-worker.worker1.port=$TOMCAT_PORT
-worker.worker1.lbfactor=50
-worker.worker1.cachesize=10
-worker.worker1.cache_timeout=600
-worker.worker1.socket_keepalive=1
-worker.worker1.recycle_timeout=300
-END-OF-CONFIGURATION
-
-popd
-
-if [ ! -d $INSTALLWEB/tomcat/conf/Catalina/localhost ]; then
-mkdir -p $INSTALLWEB/tomcat/conf/Catalina/localhost
-fi
-
-pushd $INSTALLWEB/tomcat/conf/Catalina/localhost
-cat > mapguide.xml <<END_OF_CONFIGURATION
-<!--
-
-    Context configuration file for the Tomcat Manager Web App
-
-    $Id: manager.xml,v 1.3 2004/08/26 17:03:34 remm Exp $
-
--->
-
-
-<Context docBase="$INSTALLWEB/www"
-         privileged="true" antiResourceLocking="false" antiJARLocking="false">
-
-  <!-- Link to the user database we will get roles from -->
-  <ResourceLink name="users" global="UserDatabase"
-                type="org.apache.catalina.UserDatabase"/>
-
-</Context>
-END_OF_CONFIGURATION
-
-popd
-
-mv -f $INSTALLWEB/tomcat/conf/server.xml $INSTALLWEB/tomcat/conf/server_orig.xml
-cp -f server.xml $INSTALLWEB/tomcat/conf
-
-pushd $INSTALLWEB/tomcat/bin
-if [ ! -e startup.sh.orig ]; then
-mv startup.sh startup.sh.orig
-fi
-
-LIB_PATH=$INSTALLWEB/lib:$INSTALLDIR/lib
-cat > startup.sh <<END_OF_CONFIGURATION
-#!/bin/bash
-export LD_LIBRARY_PATH=$LIB_PATH
-export MENTOR_DICTIONARY_PATH=$INSTALLDIR/share/gis/coordsys
-export JAVA_OPTS="-Djava.library.path=$LIB_PATH"
-END_OF_CONFIGURATION
-
-cat startup.sh.orig >> startup.sh
-chmod 755 startup.sh
-popd
-
-echo "Tomcat configuration completed"
-fi
-
-
-#**********************************************************
-# Configuration file updates for Php
-# Notes: none
-#**********************************************************
-
-# Required modifications to php.ini
-# Uses php.ini-mapguide as a template and replaces the ext path
-# with the appropriate installdir path
-# Note:  Custom built PHP will look in php/lib for ini file
-
-echo "Php configuration started"
-
-BACKINSTALL=${INSTALLWEB//\//\\\/}
-cat php.ini-mapguide | sed "s/INSTALLDIR/$BACKINSTALL\/lib/g" > $INSTALLWEB/php/lib/php.ini
-
-echo "Php configuration completed"
-
-echo "Adding test pages"
-
-if [ ! -d "$INSTALLWEB/www" ]; then
-	mkdir $INSTALLWEB/www
-fi
-cat >> $INSTALLWEB/www/index.html <<ENDOFINDEX
-<html>
-<body>
-<p>If you are seeing this page then Apache Httpd has been successfully
-configured and installed for MapGuide.
-</body>
-</html>
-ENDOFINDEX
-
-cat >> $INSTALLWEB/www/phpinfo.php <<ENDOFINFO
-<?php
-phpinfo();
-?>
-ENDOFINFO
-
-echo "Installation complete."
-
-if [ "$START_HTTPD" = "1" ]; then
-#**********************************************************
-# Start Apache
-# Notes: none
-#**********************************************************
-echo "Bringing Apache online..."
-pushd $INSTALLWEB/apache2/bin
-./apachectl start
-popd
-echo "Apache is now online."
-fi
-
-#**********************************************************
-# Tomcat startup procedure
-# Notes: none
-#**********************************************************
-if [ "$TOMCAT" = "1" -a "$START_TOMCAT" = "1" ]; then
-echo "Tomcat startup"
-pushd $INSTALLWEB/tomcat/bin
-./startup.sh
-popd
-
-echo "Tomcat startup completed"
-fi
-

Modified: sandbox/jng/vanilla_swig/cmake/configs/mapguide.conf.in
===================================================================
--- sandbox/jng/vanilla_swig/cmake/configs/mapguide.conf.in	2022-09-02 15:54:56 UTC (rev 9966)
+++ sandbox/jng/vanilla_swig/cmake/configs/mapguide.conf.in	2022-09-08 13:01:08 UTC (rev 9967)
@@ -36,7 +36,7 @@
   Options All
   Require all granted
 
-  AddHandler php5-script .php
+  AddHandler application/x-httpd-php .php
   AddHandler mgmapagent_handler fcgi
 
   RewriteEngine on

Modified: sandbox/jng/vanilla_swig/cmake/configs/php.ini.in
===================================================================
--- sandbox/jng/vanilla_swig/cmake/configs/php.ini.in	2022-09-02 15:54:56 UTC (rev 9966)
+++ sandbox/jng/vanilla_swig/cmake/configs/php.ini.in	2022-09-08 13:01:08 UTC (rev 9967)
@@ -3,159 +3,226 @@
 ;;;;;;;;;;;;;;;;;;;
 ; About php.ini   ;
 ;;;;;;;;;;;;;;;;;;;
-; This file controls many aspects of PHP's behavior.  In order for PHP to
-; read it, it must be named 'php.ini'.  PHP looks for it in the current
-; working directory, in the path designated by the environment variable
-; PHPRC, and in the path that was defined in compile time (in that order).
-; Under Windows, the compile-time path is the Windows directory.  The
-; path in which the php.ini file is looked for can be overridden using
-; the -c argument in command line mode.
-;
-; The syntax of the file is extremely simple.  Whitespace and Lines
+; PHP's initialization file, generally called php.ini, is responsible for
+; configuring many of the aspects of PHP's behavior.
+
+; PHP attempts to find and load this configuration from a number of locations.
+; The following is a summary of its search order:
+; 1. SAPI module specific location.
+; 2. The PHPRC environment variable. (As of PHP 5.2.0)
+; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0)
+; 4. Current working directory (except CLI)
+; 5. The web server's directory (for SAPI modules), or directory of PHP
+; (otherwise in Windows)
+; 6. The directory from the --with-config-file-path compile time option, or the
+; Windows directory (usually C:\windows)
+; See the PHP docs for more specific information.
+; https://php.net/configuration.file
+
+; The syntax of the file is extremely simple.  Whitespace and lines
 ; beginning with a semicolon are silently ignored (as you probably guessed).
 ; Section headers (e.g. [Foo]) are also silently ignored, even though
 ; they might mean something in the future.
-;
+
+; Directives following the section heading [PATH=/www/mysite] only
+; apply to PHP files in the /www/mysite directory.  Directives
+; following the section heading [HOST=www.example.com] only apply to
+; PHP files served from www.example.com.  Directives set in these
+; special sections cannot be overridden by user-defined INI files or
+; at runtime. Currently, [PATH=] and [HOST=] sections only work under
+; CGI/FastCGI.
+; https://php.net/ini.sections
+
 ; Directives are specified using the following syntax:
 ; directive = value
 ; Directive names are *case sensitive* - foo=bar is different from FOO=bar.
-;
+; Directives are variables used to configure PHP or PHP extensions.
+; There is no name validation.  If PHP can't find an expected
+; directive because it is not set or is mistyped, a default value will be used.
+
 ; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one
 ; of the INI constants (On, Off, True, False, Yes, No and None) or an expression
-; (e.g. E_ALL & ~E_NOTICE), or a quoted string ("foo").
-;
+; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a
+; previously set variable or directive (e.g. ${foo})
+
 ; Expressions in the INI file are limited to bitwise operators and parentheses:
-; |        bitwise OR
-; &        bitwise AND
-; ~        bitwise NOT
-; !        boolean NOT
-;
+; |  bitwise OR
+; ^  bitwise XOR
+; &  bitwise AND
+; ~  bitwise NOT
+; !  boolean NOT
+
 ; Boolean flags can be turned on using the values 1, On, True or Yes.
 ; They can be turned off using the values 0, Off, False or No.
-;
+
 ; An empty string can be denoted by simply not writing anything after the equal
 ; sign, or by using the None keyword:
-;
-;  foo =         ; sets foo to an empty string
-;  foo = none    ; sets foo to an empty string
-;  foo = "none"  ; sets foo to the string 'none'
-;
+
+; foo =         ; sets foo to an empty string
+; foo = None    ; sets foo to an empty string
+; foo = "None"  ; sets foo to the string 'None'
+
 ; If you use constants in your value, and these constants belong to a
 ; dynamically loaded extension (either a PHP extension or a Zend extension),
 ; you may only use these constants *after* the line that loads the extension.
-; 
-;
+
 ;;;;;;;;;;;;;;;;;;;
 ; About this file ;
 ;;;;;;;;;;;;;;;;;;;
-; This is the recommended, PHP 5-style version of the php.ini-dist file.  It
-; sets some non standard settings, that make PHP more efficient, more secure,
-; and encourage cleaner coding.
-;
-; The price is that with these settings, PHP may be incompatible with some
-; applications, and sometimes, more difficult to develop with.  Using this
-; file is warmly recommended for production sites.  As all of the changes from
-; the standard settings are thoroughly documented, you can go over each one,
-; and decide whether you want to use it or not.
-;
-; For general information about the php.ini file, please consult the php.ini-dist
-; file, included in your PHP distribution.
-;
-; This file is different from the php.ini-dist file in the fact that it features
-; different values for several directives, in order to improve performance, while
-; possibly breaking compatibility with the standard out-of-the-box behavior of
-; PHP.  Please make sure you read what's different, and modify your scripts
-; accordingly, if you decide to use this file instead.
-;
-; - register_globals = Off         [Security, Performance]
-;     Global variables are no longer registered for input data (POST, GET, cookies,
-;     environment and other server variables).  Instead of using $foo, you must use
-;     you can use $_REQUEST["foo"] (includes any variable that arrives through the
-;     request, namely, POST, GET and cookie variables), or use one of the specific
-;     $_GET["foo"], $_POST["foo"], $_COOKIE["foo"] or $_FILES["foo"], depending
-;     on where the input originates.  Also, you can look at the
-;     import_request_variables() function.
-;     Note that register_globals is going to be depracated (i.e., turned off by
-;     default) in the next version of PHP, because it often leads to security bugs.
-;     Read http://php.net/manual/en/security.registerglobals.php for further
-;     information.
-; - register_long_arrays = Off     [Performance]
-;     Disables registration of the older (and deprecated) long predefined array
-;     variables ($HTTP_*_VARS).  Instead, use the superglobals that were
-;     introduced in PHP 4.1.0
-; - display_errors = Off           [Security]
-;     With this directive set to off, errors that occur during the execution of
-;     scripts will no longer be displayed as a part of the script output, and thus,
-;     will no longer be exposed to remote users.  With some errors, the error message
-;     content may expose information about your script, web server, or database
-;     server that may be exploitable for hacking.  Production sites should have this
-;     directive set to off.
-; - log_errors = On                [Security]
-;     This directive complements the above one.  Any errors that occur during the
-;     execution of your script will be logged (typically, to your server's error log,
-;     but can be configured in several ways).  Along with setting display_errors to off,
-;     this setup gives you the ability to fully understand what may have gone wrong,
-;     without exposing any sensitive information to remote users.
-; - output_buffering = 4096        [Performance]
-;     Set a 4KB output buffer.  Enabling output buffering typically results in less
-;     writes, and sometimes less packets sent on the wire, which can often lead to
-;     better performance.  The gain this directive actually yields greatly depends
-;     on which Web server you're working with, and what kind of scripts you're using.
-; - register_argc_argv = Off       [Performance]
-;     Disables registration of the somewhat redundant $argv and $argc global
-;     variables.
-; - magic_quotes_gpc = Off         [Performance]
-;     Input data is no longer escaped with slashes so that it can be sent into
-;     SQL databases without further manipulation.  Instead, you should use the
-;     function addslashes() on each input element you wish to send to a database.
-; - variables_order = "GPCS"       [Performance]
-;     The environment variables are not hashed into the $_ENV.  To access
-;     environment variables, you can use getenv() instead.
-; - error_reporting = E_ALL        [Code Cleanliness, Security(?)]
-;     By default, PHP surpresses errors of type E_NOTICE.  These error messages
-;     are emitted for non-critical errors, but that could be a symptom of a bigger
-;     problem.  Most notably, this will cause error messages about the use
-;     of uninitialized variables to be displayed.
-; - allow_call_time_pass_reference = Off     [Code cleanliness]
-;     It's not possible to decide to force a variable to be passed by reference
-;     when calling a function.  The PHP 4 style to do this is by making the
-;     function require the relevant argument by reference.
+; PHP comes packaged with two INI files. One that is recommended to be used
+; in production environments and one that is recommended to be used in
+; development environments.
 
+; php.ini-production contains settings which hold security, performance and
+; best practices at its core. But please be aware, these settings may break
+; compatibility with older or less security conscience applications. We
+; recommending using the production ini in production and testing environments.
 
+; php.ini-development is very similar to its production variant, except it is
+; much more verbose when it comes to errors. We recommend using the
+; development version only in development environments, as errors shown to
+; application users can inadvertently leak otherwise secure information.
+
+; This is the php.ini-production INI file.
+
+;;;;;;;;;;;;;;;;;;;
+; Quick Reference ;
+;;;;;;;;;;;;;;;;;;;
+
+; The following are all the settings which are different in either the production
+; or development versions of the INIs with respect to PHP's default behavior.
+; Please see the actual settings later in the document for more details as to why
+; we recommend these changes in PHP's behavior.
+
+; display_errors
+;   Default Value: On
+;   Development Value: On
+;   Production Value: Off
+
+; display_startup_errors
+;   Default Value: On
+;   Development Value: On
+;   Production Value: Off
+
+; error_reporting
+;   Default Value: E_ALL
+;   Development Value: E_ALL
+;   Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT
+
+; log_errors
+;   Default Value: Off
+;   Development Value: On
+;   Production Value: On
+
+; max_input_time
+;   Default Value: -1 (Unlimited)
+;   Development Value: 60 (60 seconds)
+;   Production Value: 60 (60 seconds)
+
+; output_buffering
+;   Default Value: Off
+;   Development Value: 4096
+;   Production Value: 4096
+
+; register_argc_argv
+;   Default Value: On
+;   Development Value: Off
+;   Production Value: Off
+
+; request_order
+;   Default Value: None
+;   Development Value: "GP"
+;   Production Value: "GP"
+
+; session.gc_divisor
+;   Default Value: 100
+;   Development Value: 1000
+;   Production Value: 1000
+
+; session.sid_bits_per_character
+;   Default Value: 4
+;   Development Value: 5
+;   Production Value: 5
+
+; short_open_tag
+;   Default Value: On
+;   Development Value: Off
+;   Production Value: Off
+
+; variables_order
+;   Default Value: "EGPCS"
+;   Development Value: "GPCS"
+;   Production Value: "GPCS"
+
+; zend.exception_ignore_args
+;   Default Value: Off
+;   Development Value: Off
+;   Production Value: On
+
+; zend.exception_string_param_max_len
+;   Default Value: 15
+;   Development Value: 15
+;   Production Value: 0
+
 ;;;;;;;;;;;;;;;;;;;;
+; php.ini Options  ;
+;;;;;;;;;;;;;;;;;;;;
+; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini"
+;user_ini.filename = ".user.ini"
+
+; To disable this feature set this option to an empty value
+;user_ini.filename =
+
+; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes)
+;user_ini.cache_ttl = 300
+
+;;;;;;;;;;;;;;;;;;;;
 ; Language Options ;
 ;;;;;;;;;;;;;;;;;;;;
 
 ; Enable the PHP scripting language engine under Apache.
+; https://php.net/engine
 engine = On
 
-; Enable compatibility mode with Zend Engine 1 (PHP 4.x)
-zend.ze1_compatibility_mode = Off
+; 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
+; https://php.net/short-open-tag
+short_open_tag = Off
 
-; Allow the <? tag.  Otherwise, only <?php and <script> tags are recognized.
-; NOTE: Using short tags should be avoided when developing applications or
-; libraries that are meant for redistribution, or deployment on PHP
-; servers which are not under your control, because short tags may not
-; be supported on the target server. For portable, redistributable code,
-; be sure not to use short tags.
-short_open_tag = On
-
-; Allow ASP-style <% %> tags.
-asp_tags = Off
-
 ; The number of significant digits displayed in floating point numbers.
-precision    =  14
+; https://php.net/precision
+precision = 14
 
-; Enforce year 2000 compliance (will cause problems with non-compliant browsers)
-y2k_compliance = On
-
-; Output buffering allows you to send header lines (including cookies) even
-; after you send body content, at the price of slowing PHP's output layer a
-; bit.  You can enable output buffering during runtime by calling the output
-; buffering functions.  You can also enable output buffering for all files by
-; setting this directive to On.  If you wish to limit the size of the buffer
-; to a certain size - you can use a maximum number of bytes instead of 'On', as
-; a value for this directive (e.g., output_buffering=4096).
+; Output buffering is a mechanism for controlling how much output data
+; (excluding headers and cookies) PHP should keep internally before pushing that
+; data to the client. If your application's output exceeds this setting, PHP
+; will send that data in chunks of roughly the size you specify.
+; Turning on this setting and managing its maximum buffer size can yield some
+; interesting side-effects depending on your application and web server.
+; You may be able to send headers and cookies after you've already sent output
+; through print or echo. You also may see performance benefits if your server is
+; emitting less packets due to buffered output versus PHP streaming the output
+; as it gets it. On production servers, 4096 bytes is a good setting for performance
+; reasons.
+; Note: Output buffering can also be controlled via Output Buffering Control
+;   functions.
+; Possible Values:
+;   On = Enabled and buffer is unlimited. (Use with caution)
+;   Off = Disabled
+;   Integer = Enables the buffer and sets its maximum size in bytes.
+; Note: This directive is hardcoded to Off for the CLI SAPI
+; Default Value: Off
+; Development Value: 4096
+; Production Value: 4096
+; https://php.net/output-buffering
 output_buffering = 4096
 
 ; You can redirect all of the output of your scripts to a function.  For
@@ -163,29 +230,52 @@
 ; encoding will be transparently converted to the specified encoding.
 ; Setting any output handler automatically turns on output buffering.
 ; Note: People who wrote portable scripts should not depend on this ini
-;       directive. Instead, explicitly set the output handler using ob_start().
-;       Using this ini directive may cause problems unless you know what script
-;       is doing.
+;   directive. Instead, explicitly set the output handler using ob_start().
+;   Using this ini directive may cause problems unless you know what script
+;   is doing.
 ; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler"
-;       and you cannot use both "ob_gzhandler" and "zlib.output_compression".
+;   and you cannot use both "ob_gzhandler" and "zlib.output_compression".
 ; Note: output_handler must be empty if this is set 'On' !!!!
-;       Instead you must use zlib.output_handler.
+;   Instead you must use zlib.output_handler.
+; https://php.net/output-handler
 ;output_handler =
 
+; URL rewriter function rewrites URL on the fly by using
+; output buffer. You can set target tags by this configuration.
+; "form" tag is special tag. It will add hidden input tag to pass values.
+; Refer to session.trans_sid_tags for usage.
+; Default Value: "form="
+; Development Value: "form="
+; Production Value: "form="
+;url_rewriter.tags
+
+; URL rewriter will not rewrite absolute URL nor form by default. To enable
+; absolute URL rewrite, allowed hosts must be defined at RUNTIME.
+; Refer to session.trans_sid_hosts for more details.
+; Default Value: ""
+; Development Value: ""
+; Production Value: ""
+;url_rewriter.hosts
+
 ; Transparent output compression using the zlib library
 ; Valid values for this option are 'off', 'on', or a specific buffer size
 ; to be used for compression (default is 4KB)
 ; Note: Resulting chunk size may vary due to nature of compression. PHP
-;       outputs chunks that are few hundreds bytes each as a result of
-;       compression. If you prefer a larger chunk size for better
-;       performance, enable output_buffering in addition.
+;   outputs chunks that are few hundreds bytes each as a result of
+;   compression. If you prefer a larger chunk size for better
+;   performance, enable output_buffering in addition.
 ; Note: You need to use zlib.output_handler instead of the standard
-;       output_handler, or otherwise the output will be corrupted.
+;   output_handler, or otherwise the output will be corrupted.
+; https://php.net/zlib.output-compression
 zlib.output_compression = Off
 
+; https://php.net/zlib.output-compression-level
+;zlib.output_compression_level = -1
+
 ; You cannot specify additional output handlers if zlib.output_compression
 ; is activated here. This setting does the same as output_handler but in
 ; a different order.
+; https://php.net/zlib.output-handler
 ;zlib.output_handler =
 
 ; Implicit flush tells PHP to tell the output layer to flush itself
@@ -193,127 +283,181 @@
 ; PHP function flush() after each and every call to print() or echo() and each
 ; and every HTML block.  Turning this option on has serious performance
 ; implications and is generally recommended for debugging purposes only.
+; https://php.net/implicit-flush
+; Note: This directive is hardcoded to On for the CLI SAPI
 implicit_flush = Off
 
 ; The unserialize callback function will be called (with the undefined class'
 ; name as parameter), if the unserializer finds an undefined class
-; which should be instanciated.
-; A warning appears if the specified function is not defined, or if the
-; function doesn't include/implement the missing class.
+; which should be instantiated. A warning appears if the specified function is
+; not defined, or if the function doesn't include/implement the missing class.
 ; So only set this entry, if you really want to implement such a
 ; callback-function.
-unserialize_callback_func=
+unserialize_callback_func =
 
-; When floats & doubles are serialized store serialize_precision significant
+; The unserialize_max_depth specifies the default depth limit for unserialized
+; structures. Setting the depth limit too high may result in stack overflows
+; during unserialization. The unserialize_max_depth ini setting can be
+; overridden by the max_depth option on individual unserialize() calls.
+; A value of 0 disables the depth limit.
+;unserialize_max_depth = 4096
+
+; When floats & doubles are serialized, store serialize_precision significant
 ; digits after the floating point. The default value ensures that when floats
 ; are decoded with unserialize, the data will remain the same.
-serialize_precision = 100
+; The value is also used for json_encode when encoding double values.
+; If -1 is used, then dtoa mode 0 is used which automatically select the best
+; precision.
+serialize_precision = -1
 
-; Whether to enable the ability to force arguments to be passed by reference
-; at function call time.  This method is deprecated and is likely to be
-; unsupported in future versions of PHP/Zend.  The encouraged method of
-; specifying which arguments should be passed by reference is in the function
-; declaration.  You're encouraged to try and turn this option Off and make
-; sure your scripts work properly with it in order to ensure they will work
-; with future versions of the language (you will receive a warning each time
-; you use this feature, and the argument will be passed by value instead of by
-; reference).
-allow_call_time_pass_reference = Off
-
-;
-; Safe Mode
-;
-safe_mode = Off
-
-; By default, Safe Mode does a UID compare check when
-; opening files. If you want to relax this to a GID compare,
-; then turn on safe_mode_gid.
-safe_mode_gid = Off
-
-; When safe_mode is on, UID/GID checks are bypassed when
-; including files from this directory and its subdirectories.
-; (directory must also be in include_path or full path must
-; be used when including)
-safe_mode_include_dir =
-
-; When safe_mode is on, only executables located in the safe_mode_exec_dir
-; will be allowed to be executed via the exec family of functions.
-safe_mode_exec_dir =
-
-; Setting certain environment variables may be a potential security breach.
-; This directive contains a comma-delimited list of prefixes.  In Safe Mode,
-; the user may only alter environment variables whose names begin with the
-; prefixes supplied here.  By default, users will only be able to set
-; environment variables that begin with PHP_ (e.g. PHP_FOO=BAR).
-;
-; Note:  If this directive is empty, PHP will let the user modify ANY
-; environment variable!
-safe_mode_allowed_env_vars = PHP_
-
-; This directive contains a comma-delimited list of environment variables that
-; the end user won't be able to change using putenv().  These variables will be
-; protected even if safe_mode_allowed_env_vars is set to allow to change them.
-safe_mode_protected_env_vars = LD_LIBRARY_PATH
-
 ; open_basedir, if set, limits all file operations to the defined directory
 ; and below.  This directive makes most sense if used in a per-directory
-; or per-virtualhost web server configuration file. This directive is
-; *NOT* affected by whether Safe Mode is turned On or Off.
+; or per-virtualhost web server configuration file.
+; Note: disables the realpath cache
+; https://php.net/open-basedir
 ;open_basedir =
 
-; This directive allows you to disable certain functions for security reasons.
-; It receives a comma-delimited list of function names. This directive is
-; *NOT* affected by whether Safe Mode is turned On or Off.
+; This directive allows you to disable certain functions.
+; It receives a comma-delimited list of function names.
+; https://php.net/disable-functions
 disable_functions =
 
-; This directive allows you to disable certain classes for security reasons.
-; It receives a comma-delimited list of class names. This directive is
-; *NOT* affected by whether Safe Mode is turned On or Off.
+; This directive allows you to disable certain classes.
+; It receives a comma-delimited list of class names.
+; https://php.net/disable-classes
 disable_classes =
 
 ; Colors for Syntax Highlighting mode.  Anything that's acceptable in
 ; <span style="color: ???????"> would work.
+; https://php.net/syntax-highlighting
 ;highlight.string  = #DD0000
 ;highlight.comment = #FF9900
 ;highlight.keyword = #007700
-;highlight.bg      = #FFFFFF
 ;highlight.default = #0000BB
 ;highlight.html    = #000000
 
+; If enabled, the request will be allowed to complete even if the user aborts
+; the request. Consider enabling it if executing long requests, which may end up
+; being interrupted by the user or a browser timing out. PHP's default behavior
+; is to disable this feature.
+; https://php.net/ignore-user-abort
+;ignore_user_abort = On
 
-;
-; Misc
-;
+; Determines the size of the realpath cache to be used by PHP. This value should
+; be increased on systems where PHP opens many files to reflect the quantity of
+; the file operations performed.
+; Note: if open_basedir is set, the cache is disabled
+; https://php.net/realpath-cache-size
+;realpath_cache_size = 4096k
+
+; Duration of time, in seconds for which to cache realpath information for a given
+; file or directory. For systems with rarely changing files, consider increasing this
+; value.
+; https://php.net/realpath-cache-ttl
+;realpath_cache_ttl = 120
+
+; Enables or disables the circular reference collector.
+; https://php.net/zend.enable-gc
+zend.enable_gc = On
+
+; If enabled, scripts may be written in encodings that are incompatible with
+; the scanner.  CP936, Big5, CP949 and Shift_JIS are the examples of such
+; encodings.  To use this feature, mbstring extension must be enabled.
+;zend.multibyte = Off
+
+; Allows to set the default encoding for the scripts.  This value will be used
+; unless "declare(encoding=...)" directive appears at the top of the script.
+; Only affects if zend.multibyte is set.
+;zend.script_encoding =
+
+; Allows to include or exclude arguments from stack traces generated for exceptions.
+; In production, it is recommended to turn this setting on to prohibit the output
+; of sensitive information in stack traces
+; Default Value: Off
+; Development Value: Off
+; Production Value: On
+zend.exception_ignore_args = On
+
+; Allows setting the maximum string length in an argument of a stringified stack trace
+; to a value between 0 and 1000000.
+; This has no effect when zend.exception_ignore_args is enabled.
+; Default Value: 15
+; Development Value: 15
+; Production Value: 0
+; In production, it is recommended to set this to 0 to reduce the output
+; of sensitive information in stack traces.
+zend.exception_string_param_max_len = 0
+
+;;;;;;;;;;;;;;;;;
+; Miscellaneous ;
+;;;;;;;;;;;;;;;;;
+
 ; Decides whether PHP may expose the fact that it is installed on the server
 ; (e.g. by adding its signature to the Web server header).  It is no security
 ; threat in any way, but it makes it possible to determine whether you use PHP
 ; on your server or not.
+; https://php.net/expose-php
 expose_php = On
 
-
 ;;;;;;;;;;;;;;;;;;;
 ; Resource Limits ;
 ;;;;;;;;;;;;;;;;;;;
 
-max_execution_time = 60     ; Maximum execution time of each script, in seconds
-max_input_time = 60	; Maximum amount of time each script may spend parsing request data
-memory_limit = 32M      ; Maximum amount of memory a script may consume (8MB)
+; Maximum execution time of each script, in seconds
+; https://php.net/max-execution-time
+; Note: This directive is hardcoded to 0 for the CLI SAPI
+max_execution_time = 30
 
+; Maximum amount of time each script may spend parsing request data. It's a good
+; idea to limit this time on productions servers in order to eliminate unexpectedly
+; long running scripts.
+; Note: This directive is hardcoded to -1 for the CLI SAPI
+; Default Value: -1 (Unlimited)
+; Development Value: 60 (60 seconds)
+; Production Value: 60 (60 seconds)
+; https://php.net/max-input-time
+max_input_time = 60
 
+; Maximum input variable nesting level
+; https://php.net/max-input-nesting-level
+;max_input_nesting_level = 64
+
+; How many GET/POST/COOKIE input variables may be accepted
+;max_input_vars = 1000
+
+; Maximum amount of memory a script may consume
+; https://php.net/memory-limit
+memory_limit = 128M
+
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ; Error handling and logging ;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
-; error_reporting is a bit-field.  Or each number up to get desired error
-; reporting level
-; E_ALL             - All errors and warnings (doesn't include E_STRICT)
+; This directive informs PHP of which errors, warnings and notices you would like
+; it to take action for. The recommended way of setting values for this
+; directive is through the use of the error level constants and bitwise
+; operators. The error level constants are below here for convenience as well as
+; some common settings and their meanings.
+; By default, PHP is set to take action on all errors, notices and warnings EXCEPT
+; those related to E_NOTICE and E_STRICT, which together cover best practices and
+; recommended coding standards in PHP. For performance reasons, this is the
+; recommend error reporting setting. Your production server shouldn't be wasting
+; resources complaining about best practices and coding standards. That's what
+; development servers and development settings are for.
+; Note: The php.ini-development file has this setting as E_ALL. This
+; means it pretty much reports everything which is exactly what you want during
+; development and early testing.
+;
+; Error Level Constants:
+; E_ALL             - All errors and warnings (includes E_STRICT as of PHP 5.4.0)
 ; E_ERROR           - fatal run-time errors
+; E_RECOVERABLE_ERROR  - almost fatal run-time errors
 ; E_WARNING         - run-time warnings (non-fatal errors)
 ; E_PARSE           - compile-time parse errors
 ; E_NOTICE          - run-time notices (these are warnings which often result
 ;                     from a bug in your code, but it's possible that it was
 ;                     intentional (e.g., using an uninitialized variable and
-;                     relying on the fact it's automatically initialized to an
+;                     relying on the fact it is automatically initialized to an
 ;                     empty string)
 ; E_STRICT          - run-time notices, enable to have PHP suggest changes
 ;                     to your code which will ensure the best interoperability
@@ -326,170 +470,268 @@
 ; E_USER_ERROR      - user-generated error message
 ; E_USER_WARNING    - user-generated warning message
 ; E_USER_NOTICE     - user-generated notice message
+; E_DEPRECATED      - warn about code that will not work in future versions
+;                     of PHP
+; E_USER_DEPRECATED - user-generated deprecation warnings
 ;
-; Examples:
-;
-;   - Show all errors, except for notices and coding standards warnings
-;
-;error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT
-;
-;   - Show all errors, except for notices
-;
-;error_reporting = E_ALL & ~E_NOTICE
-;
-;   - Show only errors
-;
-;error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR
-;
-;   - Show all errors
-;
-error_reporting  =  E_ALL
+; Common Values:
+;   E_ALL (Show all errors, warnings and notices including coding standards.)
+;   E_ALL & ~E_NOTICE  (Show all errors, except for notices)
+;   E_ALL & ~E_NOTICE & ~E_STRICT  (Show all errors, except for notices and coding standards warnings.)
+;   E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR  (Show only errors)
+; Default Value: E_ALL
+; Development Value: E_ALL
+; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT
+; https://php.net/error-reporting
+error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
 
-; Print out errors (as a part of the output).  For production web sites,
-; you're strongly encouraged to turn this feature off, and use error logging
-; instead (see below).  Keeping display_errors enabled on a production web site
-; may reveal security information to end users, such as file paths on your Web
-; server, your database schema or other information.
+; This directive controls whether or not and where PHP will output errors,
+; notices and warnings too. Error output is very useful during development, but
+; it could be very dangerous in production environments. Depending on the code
+; which is triggering the error, sensitive information could potentially leak
+; out of your application such as database usernames and passwords or worse.
+; For production environments, we recommend logging errors rather than
+; sending them to STDOUT.
+; Possible Values:
+;   Off = Do not display any errors
+;   stderr = Display errors to STDERR (affects only CGI/CLI binaries!)
+;   On or stdout = Display errors to STDOUT
+; Default Value: On
+; Development Value: On
+; Production Value: Off
+; https://php.net/display-errors
 display_errors = Off
 
-; Even when display_errors is on, errors that occur during PHP's startup
-; sequence are not displayed.  It's strongly recommended to keep
-; display_startup_errors off, except for when debugging.
+; The display of errors which occur during PHP's startup sequence are handled
+; separately from display_errors. We strongly recommend you set this to 'off'
+; for production servers to avoid leaking configuration details.
+; Default Value: On
+; Development Value: On
+; Production Value: Off
+; https://php.net/display-startup-errors
 display_startup_errors = Off
 
-; Log errors into a log file (server-specific log, stderr, or error_log (below))
-; As stated above, you're strongly advised to use error logging in place of
-; error displaying on production web sites.
+; Besides displaying errors, PHP can also log errors to locations such as a
+; server-specific log, STDERR, or a location specified by the error_log
+; directive found below. While errors should not be displayed on productions
+; servers they should still be monitored and logging is a great way to do that.
+; Default Value: Off
+; Development Value: On
+; Production Value: On
+; https://php.net/log-errors
 log_errors = On
 
-; Set maximum length of log_errors. In error_log information about the source is
-; added. The default is 1024 and 0 allows to not apply any maximum length at all.
-log_errors_max_len = 1024
-
 ; Do not log repeated messages. Repeated errors must occur in same file on same
-; line until ignore_repeated_source is set true.
+; line unless ignore_repeated_source is set true.
+; https://php.net/ignore-repeated-errors
 ignore_repeated_errors = Off
 
 ; Ignore source of message when ignoring repeated messages. When this setting
 ; is On you will not log errors with repeated messages from different files or
-; sourcelines.
+; source lines.
+; https://php.net/ignore-repeated-source
 ignore_repeated_source = Off
 
 ; If this parameter is set to Off, then memory leaks will not be shown (on
-; stdout or in the log). This has only effect in a debug compile, and if
+; stdout or in the log). This is only effective in a debug compile, and if
 ; error reporting includes E_WARNING in the allowed list
+; https://php.net/report-memleaks
 report_memleaks = On
 
-; Store the last error/warning message in $php_errormsg (boolean).
-track_errors = Off
+; This setting is off by default.
+;report_zend_debug = 0
 
-; Disable the inclusion of HTML tags in error messages.
-; Note: Never use this feature for production boxes.
-;html_errors = Off
+; Turn off normal error reporting and emit XML-RPC error XML
+; https://php.net/xmlrpc-errors
+;xmlrpc_errors = 0
 
-; If html_errors is set On PHP produces clickable error messages that direct
-; to a page describing the error or function causing the error in detail.
-; You can download a copy of the PHP manual from http://www.php.net/docs.php
+; An XML-RPC faultCode
+;xmlrpc_error_number = 0
+
+; When PHP displays or logs an error, it has the capability of formatting the
+; error message as HTML for easier reading. This directive controls whether
+; the error message is formatted as HTML or not.
+; Note: This directive is hardcoded to Off for the CLI SAPI
+; https://php.net/html-errors
+;html_errors = On
+
+; If html_errors is set to On *and* docref_root is not empty, then PHP
+; produces clickable error messages that direct to a page describing the error
+; or function causing the error in detail.
+; You can download a copy of the PHP manual from https://php.net/docs
 ; and change docref_root to the base URL of your local copy including the
 ; leading '/'. You must also specify the file extension being used including
-; the dot.
+; the dot. PHP's default behavior is to leave these settings empty, in which
+; case no links to documentation are generated.
 ; Note: Never use this feature for production boxes.
+; https://php.net/docref-root
+; Examples
 ;docref_root = "/phpmanual/"
+
+; https://php.net/docref-ext
 ;docref_ext = .html
 
-; String to output before an error message.
-;error_prepend_string = "<font color=ff0000>"
+; String to output before an error message. PHP's default behavior is to leave
+; this setting blank.
+; https://php.net/error-prepend-string
+; Example:
+;error_prepend_string = "<span style='color: #ff0000'>"
 
-; String to output after an error message.
-;error_append_string = "</font>"
+; String to output after an error message. PHP's default behavior is to leave
+; this setting blank.
+; https://php.net/error-append-string
+; Example:
+;error_append_string = "</span>"
 
-; Log errors to specified file.
-;error_log = filename
-
-; Log errors to syslog (Event Log on NT, not valid in Windows 95).
+; Log errors to specified file. PHP's default behavior is to leave this value
+; empty.
+; https://php.net/error-log
+; Example:
+;error_log = php_errors.log
+; Log errors to syslog (Event Log on Windows).
 ;error_log = syslog
 
+; The syslog ident is a string which is prepended to every message logged
+; to syslog. Only used when error_log is set to syslog.
+;syslog.ident = php
 
+; The syslog facility is used to specify what type of program is logging
+; the message. Only used when error_log is set to syslog.
+;syslog.facility = user
+
+; Set this to disable filtering control characters (the default).
+; Some loggers only accept NVT-ASCII, others accept anything that's not
+; control characters. If your logger accepts everything, then no filtering
+; is needed at all.
+; Allowed values are:
+;   ascii (all printable ASCII characters and NL)
+;   no-ctrl (all characters except control characters)
+;   all (all characters)
+;   raw (like "all", but messages are not split at newlines)
+; https://php.net/syslog.filter
+;syslog.filter = ascii
+
+;windows.show_crt_warning
+; Default value: 0
+; Development value: 0
+; Production value: 0
+
 ;;;;;;;;;;;;;;;;;
 ; Data Handling ;
 ;;;;;;;;;;;;;;;;;
-;
-; Note - track_vars is ALWAYS enabled as of PHP 4.0.3
 
 ; The separator used in PHP generated URLs to separate arguments.
-; Default is "&".
+; PHP's default setting is "&".
+; https://php.net/arg-separator.output
+; Example:
 ;arg_separator.output = "&"
 
 ; List of separator(s) used by PHP to parse input URLs into variables.
-; Default is "&".
+; PHP's default setting is "&".
 ; NOTE: Every character in this directive is considered as separator!
+; https://php.net/arg-separator.input
+; Example:
 ;arg_separator.input = ";&"
 
-; This directive describes the order in which PHP registers GET, POST, Cookie,
-; Environment and Built-in variables (G, P, C, E & S respectively, often
-; referred to as EGPCS or GPC).  Registration is done from left to right, newer
-; values override older values.
+; This directive determines which super global arrays are registered when PHP
+; starts up. G,P,C,E & S are abbreviations for the following respective super
+; globals: GET, POST, COOKIE, ENV and SERVER. There is a performance penalty
+; paid for the registration of these arrays and because ENV is not as commonly
+; used as the others, ENV is not recommended on productions servers. You
+; can still get access to the environment variables through getenv() should you
+; need to.
+; Default Value: "EGPCS"
+; Development Value: "GPCS"
+; Production Value: "GPCS";
+; https://php.net/variables-order
 variables_order = "GPCS"
 
-; Whether or not to register the EGPCS variables as global variables.  You may
-; want to turn this off if you don't want to clutter your scripts' global scope
-; with user data.  This makes most sense when coupled with track_vars - in which
-; case you can access all of the GPC variables through the $HTTP_*_VARS[],
-; variables.
-;
-; You should do your best to write your scripts so that they do not require
-; register_globals to be on;  Using form variables as globals can easily lead
-; to possible security problems, if the code is not very well thought of.
-register_globals = Off
+; This directive determines which super global data (G,P & C) should be
+; registered into the super global array REQUEST. If so, it also determines
+; the order in which that data is registered. The values for this directive
+; are specified in the same manner as the variables_order directive,
+; EXCEPT one. Leaving this value empty will cause PHP to use the value set
+; in the variables_order directive. It does not mean it will leave the super
+; globals array REQUEST empty.
+; Default Value: None
+; Development Value: "GP"
+; Production Value: "GP"
+; https://php.net/request-order
+request_order = "GP"
 
-; Whether or not to register the old-style input arrays, HTTP_GET_VARS
-; and friends.  If you're not using them, it's recommended to turn them off,
-; for performance reasons.
-register_long_arrays = Off
-
-; This directive tells PHP whether to declare the argv&argc variables (that
-; would contain the GET information).  If you don't use these variables, you
-; should turn it off for increased performance.
+; This directive determines whether PHP registers $argv & $argc each time it
+; runs. $argv contains an array of all the arguments passed to PHP when a script
+; is invoked. $argc contains an integer representing the number of arguments
+; that were passed when the script was invoked. These arrays are extremely
+; useful when running scripts from the command line. When this directive is
+; enabled, registering these variables consumes CPU cycles and memory each time
+; a script is executed. For performance reasons, this feature should be disabled
+; on production servers.
+; Note: This directive is hardcoded to On for the CLI SAPI
+; Default Value: On
+; Development Value: Off
+; Production Value: Off
+; https://php.net/register-argc-argv
 register_argc_argv = Off
 
-; When enabled, the SERVER and ENV variables are created when they're first
-; used (Just In Time) instead of when the script starts. If these variables
-; are not used within a script, having this directive on will result in a
-; performance gain. The PHP directives register_globals, register_long_arrays,
-; and register_argc_argv must be disabled for this directive to have any affect.
+; When enabled, the ENV, REQUEST and SERVER variables are created when they're
+; first used (Just In Time) instead of when the script starts. If these
+; variables are not used within a script, having this directive on will result
+; in a performance gain. The PHP directive register_argc_argv must be disabled
+; for this directive to have any effect.
+; https://php.net/auto-globals-jit
 auto_globals_jit = On
 
+; Whether PHP will read the POST data.
+; This option is enabled by default.
+; Most likely, you won't want to disable this option globally. It causes $_POST
+; and $_FILES to always be empty; the only way you will be able to read the
+; POST data will be through the php://input stream wrapper. This can be useful
+; to proxy requests or to process the POST data in a memory efficient fashion.
+; https://php.net/enable-post-data-reading
+;enable_post_data_reading = Off
+
 ; Maximum size of POST data that PHP will accept.
-post_max_size = 32M
+; Its value may be 0 to disable the limit. It is ignored if POST data reading
+; is disabled through enable_post_data_reading.
+; https://php.net/post-max-size
+post_max_size = 8M
 
-; Magic quotes
-;
+; Automatically add files before PHP document.
+; https://php.net/auto-prepend-file
+auto_prepend_file =
 
-; Magic quotes for incoming GET/POST/Cookie data.
-magic_quotes_gpc = Off
-
-; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
-magic_quotes_runtime = Off
-
-; Use Sybase-style magic quotes (escape ' with '' instead of \').
-magic_quotes_sybase = Off
-
-; Automatically add files before or after any PHP document.
-auto_prepend_file =
+; Automatically add files after PHP document.
+; https://php.net/auto-append-file
 auto_append_file =
 
-; As of 4.0b4, PHP always outputs a character encoding by default in
-; the Content-type: header.  To disable sending of the charset, simply
-; set it to be empty.
+; By default, PHP will output a media type using the Content-Type header. To
+; disable this, simply set it to be empty.
 ;
-; PHP's built-in default is text/html
+; PHP's built-in default media type is set to text/html.
+; https://php.net/default-mimetype
 default_mimetype = "text/html"
-;default_charset = "iso-8859-1"
 
-; Always populate the $HTTP_RAW_POST_DATA variable.
-always_populate_raw_post_data = -1
+; PHP's default character set is set to UTF-8.
+; https://php.net/default-charset
+default_charset = "UTF-8"
 
+; PHP internal character encoding is set to empty.
+; If empty, default_charset is used.
+; https://php.net/internal-encoding
+;internal_encoding =
 
+; PHP input character encoding is set to empty.
+; If empty, default_charset is used.
+; https://php.net/input-encoding
+;input_encoding =
+
+; PHP output character encoding is set to empty.
+; If empty, default_charset is used.
+; See also output_buffer.
+; https://php.net/output-encoding
+;output_encoding =
+
 ;;;;;;;;;;;;;;;;;;;;;;;;;
 ; Paths and Directories ;
 ;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -499,6 +741,9 @@
 ;
 ; Windows: "\path1;\path2"
 ;include_path = ".;c:\php\includes"
+;
+; PHP's default setting for include_path is ".;/path/to/php/pear"
+; https://php.net/include-path
 
 ; The root of the PHP pages, used only if nonempty.
 ; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root
@@ -505,53 +750,85 @@
 ; if you are running php as a CGI under any web server (other than IIS)
 ; see documentation for security issues.  The alternate is to use the
 ; cgi.force_redirect configuration below
+; https://php.net/doc-root
 doc_root =
 
 ; The directory under which PHP opens the script using /~username used only
 ; if nonempty.
+; https://php.net/user-dir
 user_dir =
 
 ; Directory in which the loadable extensions (modules) reside.
+; https://php.net/extension-dir
 extension_dir = "@MG_INSTALL_WEB_PREFIX_ABS@/lib at LIB_SUFFIX@"
 
+; Directory where the temporary files should be placed.
+; Defaults to the system default (see sys_get_temp_dir)
+;sys_temp_dir = "/tmp"
+
 ; Whether or not to enable the dl() function.  The dl() function does NOT work
 ; properly in multithreaded servers, such as IIS or Zeus, and is automatically
 ; disabled on them.
-enable_dl = On
+; https://php.net/enable-dl
+enable_dl = Off
 
 ; cgi.force_redirect is necessary to provide security running PHP as a CGI under
 ; most web servers.  Left undefined, PHP turns this on by default.  You can
 ; turn it off here AT YOUR OWN RISK
 ; **You CAN safely turn this off for IIS, in fact, you MUST.**
-; cgi.force_redirect = 1
+; https://php.net/cgi.force-redirect
+;cgi.force_redirect = 1
 
 ; if cgi.nph is enabled it will force cgi to always sent Status: 200 with
-; every request.
-; cgi.nph = 1
+; every request. PHP's default behavior is to disable this feature.
+;cgi.nph = 1
 
 ; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape
 ; (iPlanet) web servers, you MAY need to set an environment variable name that PHP
 ; will look for to know it is OK to continue execution.  Setting this variable MAY
 ; cause security issues, KNOW WHAT YOU ARE DOING FIRST.
-; cgi.redirect_status_env = ;
+; https://php.net/cgi.redirect-status-env
+;cgi.redirect_status_env =
 
-; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate
+; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI.  PHP's
+; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
+; what PATH_INFO is.  For more information on PATH_INFO, see the cgi specs.  Setting
+; this to 1 will cause PHP CGI to fix its paths to conform to the spec.  A setting
+; of zero causes PHP to behave as before.  Default is 1.  You should fix your scripts
+; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
+; https://php.net/cgi.fix-pathinfo
+;cgi.fix_pathinfo=1
+
+; if cgi.discard_path is enabled, the PHP CGI binary can safely be placed outside
+; of the web tree and people will not be able to circumvent .htaccess security.
+;cgi.discard_path=1
+
+; FastCGI under IIS supports the ability to impersonate
 ; security tokens of the calling client.  This allows IIS to define the
 ; security context that the request runs under.  mod_fastcgi under Apache
 ; does not currently support this feature (03/17/2002)
 ; Set to 1 if running under IIS.  Default is zero.
-; fastcgi.impersonate = 1;
+; https://php.net/fastcgi.impersonate
+;fastcgi.impersonate = 1
 
-; Disable logging through FastCGI connection
-; fastcgi.log = 0
+; Disable logging through FastCGI connection. PHP's default behavior is to enable
+; this feature.
+;fastcgi.logging = 0
 
 ; cgi.rfc2616_headers configuration option tells PHP what type of headers to
-; use when sending HTTP response code. If it's set 0 PHP sends Status: header that
-; is supported by Apache. When this option is set to 1 PHP will send
+; use when sending HTTP response code. If set to 0, PHP sends Status: header that
+; is supported by Apache. When this option is set to 1, PHP will send
 ; RFC2616 compliant header.
 ; Default is zero.
+; https://php.net/cgi.rfc2616-headers
 ;cgi.rfc2616_headers = 0
 
+; cgi.check_shebang_line controls whether CGI PHP checks for line starting with #!
+; (shebang) at the top of the running script. This line might be needed if the
+; script support running both as stand-alone script and via PHP CGI<. PHP in CGI
+; mode skips this line and ignores its content if this directive is turned on.
+; https://php.net/cgi.check-shebang-line
+;cgi.check_shebang_line=1
 
 ;;;;;;;;;;;;;;;;
 ; File Uploads ;
@@ -558,15 +835,20 @@
 ;;;;;;;;;;;;;;;;
 
 ; Whether to allow HTTP file uploads.
+; https://php.net/file-uploads
 file_uploads = On
 
 ; Temporary directory for HTTP uploaded files (will use system default if not
 ; specified).
+; https://php.net/upload-tmp-dir
 ;upload_tmp_dir =
 
 ; Maximum allowed size for uploaded files.
+; https://php.net/upload-max-filesize
 upload_max_filesize = 2M
 
+; Maximum number of files that can be uploaded via a single request
+max_file_uploads = 20
 
 ;;;;;;;;;;;;;;;;;;
 ; Fopen wrappers ;
@@ -573,15 +855,24 @@
 ;;;;;;;;;;;;;;;;;;
 
 ; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
+; https://php.net/allow-url-fopen
 allow_url_fopen = On
 
-; Define the anonymous ftp password (your email address)
+; Whether to allow include/require to open URLs (like https:// or ftp://) as files.
+; https://php.net/allow-url-include
+allow_url_include = Off
+
+; Define the anonymous ftp password (your email address). PHP's default setting
+; for this is empty.
+; https://php.net/from
 ;from="john at doe.com"
 
-; Define the User-Agent string
-; user_agent="PHP"
+; Define the User-Agent string. PHP's default setting for this is empty.
+; https://php.net/user-agent
+;user_agent="PHP"
 
 ; Default timeout for socket based streams (seconds)
+; https://php.net/default-socket-timeout
 default_socket_timeout = 60
 
 ; If your scripts have to deal with files from Macintosh systems,
@@ -589,181 +880,283 @@
 ; unix or win32 systems, setting this flag will cause PHP to
 ; automatically detect the EOL character in those files so that
 ; fgets() and file() will work regardless of the source of the file.
-; auto_detect_line_endings = Off
+; https://php.net/auto-detect-line-endings
+;auto_detect_line_endings = Off
 
-
 ;;;;;;;;;;;;;;;;;;;;;;
 ; Dynamic Extensions ;
 ;;;;;;;;;;;;;;;;;;;;;;
-;
+
 ; If you wish to have an extension loaded automatically, use the following
 ; syntax:
 ;
-;   extension=modulename.extension
+;   extension=modulename
 ;
-; For example, on Windows:
+; For example:
 ;
-;   extension=msql.dll
+;   extension=mysqli
 ;
-; ... or under UNIX:
+; When the extension library to load is not located in the default extension
+; directory, You may specify an absolute path to the library file:
 ;
-;   extension=msql.so
+;   extension=/path/to/extension/mysqli.so
 ;
-; Note that it should be the name of the module only; no directory information
-; needs to go here.  Specify the location of the extension with the
-; extension_dir directive above.
+; Note : The syntax used in previous PHP versions ('extension=<ext>.so' and
+; 'extension='php_<ext>.dll') is supported for legacy reasons and may be
+; deprecated in a future PHP major version. So, when it is possible, please
+; move to the new ('extension=<ext>) syntax.
+;
+; Notes for Windows environments :
+;
+; - Many DLL files are located in the extensions/ (PHP 4) or ext/ (PHP 5+)
+;   extension folders as well as the separate PECL DLL download (PHP 5+).
+;   Be sure to appropriately set the extension_dir directive.
+;
+;extension=bz2
+;extension=curl
+;extension=ffi
+;extension=ftp
+;extension=fileinfo
+;extension=gd
+;extension=gettext
+;extension=gmp
+;extension=intl
+;extension=imap
+;extension=ldap
+;extension=mbstring
+;extension=exif      ; Must be after mbstring as it depends on it
+;extension=mysqli
+;extension=oci8_12c  ; Use with Oracle Database 12c Instant Client
+;extension=oci8_19  ; Use with Oracle Database 19 Instant Client
+;extension=odbc
+;extension=openssl
+;extension=pdo_firebird
+;extension=pdo_mysql
+;extension=pdo_oci
+;extension=pdo_odbc
+;extension=pdo_pgsql
+;extension=pdo_sqlite
+;extension=pgsql
+;extension=shmop
+extension=libphp_MapGuideApi.so
 
+; The MIBS data available in the PHP distribution must be installed.
+; See https://www.php.net/manual/en/snmp.installation.php
+;extension=snmp
 
-;Windows Extensions
-;Note that ODBC support is built in, so no dll is needed for it.
-;
+;extension=soap
+;extension=sockets
+;extension=sodium
+;extension=sqlite3
+;extension=tidy
+;extension=xsl
 
-;extension=php_mbstring.dll
-;extension=php_bz2.dll
-;extension=php_cpdf.dll
-;extension=php_curl.dll
-;extension=php_dba.dll
-;extension=php_dbase.dll
-;extension=php_dbx.dll
-;extension=php_exif.dll
-;extension=php_fdf.dll
-;extension=php_filepro.dll
-;extension=php_gd2.dll
-;extension=php_gettext.dll
-;extension=php_ifx.dll
-;extension=php_iisfunc.dll
-;extension=php_imap.dll
-;extension=php_interbase.dll
-;extension=php_java.dll
-;extension=php_ldap.dll
-;extension=php_mcrypt.dll
-;extension=php_mhash.dll
-;extension=php_mime_magic.dll
-;extension=php_ming.dll
-;extension=php_mssql.dll
-;extension=php_msql.dll
-;extension=php_mysql.dll
-;extension=php_oci8.dll
-;extension=php_openssl.dll
-;extension=php_oracle.dll
-;extension=php_pdf.dll
-;extension=php_pgsql.dll
-;extension=php_shmop.dll
-;extension=php_snmp.dll
-;extension=php_sockets.dll
-;extension=php_sybase_ct.dll
-;extension=php_tidy.dll
-;extension=php_w32api.dll
-;extension=php_xmlrpc.dll
-;extension=php_xsl.dll
-;extension=php_yaz.dll
-;extension=php_zip.dll
-extension=libphp_MapGuideApi.so
+;zend_extension=opcache
 
-
 ;;;;;;;;;;;;;;;;;;;
 ; Module Settings ;
 ;;;;;;;;;;;;;;;;;;;
 
+[CLI Server]
+; Whether the CLI web server uses ANSI color coding in its terminal output.
+cli_server.color = On
+
 [Date]
 ; Defines the default timezone used by the date functions
-; http://php.net/date.timezone
-date.timezone = 'UTC'
+; https://php.net/date.timezone
+;date.timezone =
 
-[Syslog]
-; Whether or not to define the various syslog variables (e.g. $LOG_PID,
-; $LOG_CRON, etc.).  Turning it off is a good idea performance-wise.  In
-; runtime, you can define these variables by calling define_syslog_variables().
-define_syslog_variables  = Off
+; https://php.net/date.default-latitude
+;date.default_latitude = 31.7667
 
+; https://php.net/date.default-longitude
+;date.default_longitude = 35.2333
+
+; https://php.net/date.sunrise-zenith
+;date.sunrise_zenith = 90.833333
+
+; https://php.net/date.sunset-zenith
+;date.sunset_zenith = 90.833333
+
+[filter]
+; https://php.net/filter.default
+;filter.default = unsafe_raw
+
+; https://php.net/filter.default-flags
+;filter.default_flags =
+
+[iconv]
+; Use of this INI entry is deprecated, use global input_encoding instead.
+; If empty, default_charset or input_encoding or iconv.input_encoding is used.
+; The precedence is: default_charset < input_encoding < iconv.input_encoding
+;iconv.input_encoding =
+
+; Use of this INI entry is deprecated, use global internal_encoding instead.
+; If empty, default_charset or internal_encoding or iconv.internal_encoding is used.
+; The precedence is: default_charset < internal_encoding < iconv.internal_encoding
+;iconv.internal_encoding =
+
+; Use of this INI entry is deprecated, use global output_encoding instead.
+; If empty, default_charset or output_encoding or iconv.output_encoding is used.
+; The precedence is: default_charset < output_encoding < iconv.output_encoding
+; To use an output encoding conversion, iconv's output handler must be set
+; otherwise output encoding conversion cannot be performed.
+;iconv.output_encoding =
+
+[imap]
+; rsh/ssh logins are disabled by default. Use this INI entry if you want to
+; enable them. Note that the IMAP library does not filter mailbox names before
+; passing them to rsh/ssh command, thus passing untrusted data to this function
+; with rsh/ssh enabled is insecure.
+;imap.enable_insecure_rsh=0
+
+[intl]
+;intl.default_locale =
+; This directive allows you to produce PHP errors when some error
+; happens within intl functions. The value is the level of the error produced.
+; Default is 0, which does not produce any errors.
+;intl.error_level = E_WARNING
+;intl.use_exceptions = 0
+
+[sqlite3]
+; Directory pointing to SQLite3 extensions
+; https://php.net/sqlite3.extension-dir
+;sqlite3.extension_dir =
+
+; SQLite defensive mode flag (only available from SQLite 3.26+)
+; When the defensive flag is enabled, language features that allow ordinary
+; SQL to deliberately corrupt the database file are disabled. This forbids
+; writing directly to the schema, shadow tables (eg. FTS data tables), or
+; the sqlite_dbpage virtual table.
+; https://www.sqlite.org/c3ref/c_dbconfig_defensive.html
+; (for older SQLite versions, this flag has no use)
+;sqlite3.defensive = 1
+
+[Pcre]
+; PCRE library backtracking limit.
+; https://php.net/pcre.backtrack-limit
+;pcre.backtrack_limit=100000
+
+; PCRE library recursion limit.
+; Please note that if you set this value to a high number you may consume all
+; the available process stack and eventually crash PHP (due to reaching the
+; stack size limit imposed by the Operating System).
+; https://php.net/pcre.recursion-limit
+;pcre.recursion_limit=100000
+
+; Enables or disables JIT compilation of patterns. This requires the PCRE
+; library to be compiled with JIT support.
+;pcre.jit=1
+
+[Pdo]
+; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off"
+; https://php.net/pdo-odbc.connection-pooling
+;pdo_odbc.connection_pooling=strict
+
+[Pdo_mysql]
+; Default socket name for local MySQL connects.  If empty, uses the built-in
+; MySQL defaults.
+pdo_mysql.default_socket=
+
+[Phar]
+; https://php.net/phar.readonly
+;phar.readonly = On
+
+; https://php.net/phar.require-hash
+;phar.require_hash = On
+
+;phar.cache_list =
+
 [mail function]
 ; For Win32 only.
+; https://php.net/smtp
 SMTP = localhost
+; https://php.net/smtp-port
 smtp_port = 25
 
 ; For Win32 only.
+; https://php.net/sendmail-from
 ;sendmail_from = me at example.com
 
 ; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
+; https://php.net/sendmail-path
 ;sendmail_path =
 
 ; Force the addition of the specified parameters to be passed as extra parameters
 ; to the sendmail binary. These parameters will always replace the value of
-; the 5th parameter to mail(), even in safe mode.
+; the 5th parameter to mail().
 ;mail.force_extra_parameters =
 
-[SQL]
-sql.safe_mode = Off
+; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
+mail.add_x_header = Off
 
+; The path to a log file that will log all mail() calls. Log entries include
+; the full path of the script, line number, To address and headers.
+;mail.log =
+; Log mail to syslog (Event Log on Windows).
+;mail.log = syslog
+
 [ODBC]
+; https://php.net/odbc.default-db
 ;odbc.default_db    =  Not yet implemented
+
+; https://php.net/odbc.default-user
 ;odbc.default_user  =  Not yet implemented
+
+; https://php.net/odbc.default-pw
 ;odbc.default_pw    =  Not yet implemented
 
+; Controls the ODBC cursor model.
+; Default: SQL_CURSOR_STATIC (default).
+;odbc.default_cursortype
+
 ; Allow or prevent persistent links.
+; https://php.net/odbc.allow-persistent
 odbc.allow_persistent = On
 
 ; Check that a connection is still valid before reuse.
+; https://php.net/odbc.check-persistent
 odbc.check_persistent = On
 
 ; Maximum number of persistent links.  -1 means no limit.
+; https://php.net/odbc.max-persistent
 odbc.max_persistent = -1
 
 ; Maximum number of links (persistent + non-persistent).  -1 means no limit.
+; https://php.net/odbc.max-links
 odbc.max_links = -1
 
 ; Handling of LONG fields.  Returns number of bytes to variables.  0 means
 ; passthru.
+; https://php.net/odbc.defaultlrl
 odbc.defaultlrl = 4096
 
 ; Handling of binary data.  0 means passthru, 1 return as is, 2 convert to char.
 ; See the documentation on odbc_binmode and odbc_longreadlen for an explanation
-; of uodbc.defaultlrl and uodbc.defaultbinmode
+; of odbc.defaultlrl and odbc.defaultbinmode
+; https://php.net/odbc.defaultbinmode
 odbc.defaultbinmode = 1
 
-[MySQL]
-; Allow or prevent persistent links.
-mysql.allow_persistent = On
+[MySQLi]
 
 ; Maximum number of persistent links.  -1 means no limit.
-mysql.max_persistent = -1
+; https://php.net/mysqli.max-persistent
+mysqli.max_persistent = -1
 
-; Maximum number of links (persistent + non-persistent).  -1 means no limit.
-mysql.max_links = -1
+; Allow accessing, from PHP's perspective, local files with LOAD DATA statements
+; https://php.net/mysqli.allow_local_infile
+;mysqli.allow_local_infile = On
 
-; Default port number for mysql_connect().  If unset, mysql_connect() will use
-; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
-; compile-time value defined MYSQL_PORT (in that order).  Win32 will only look
-; at MYSQL_PORT.
-mysql.default_port =
+; It allows the user to specify a folder where files that can be sent via LOAD DATA
+; LOCAL can exist. It is ignored if mysqli.allow_local_infile is enabled.
+;mysqli.local_infile_directory =
 
-; Default socket name for local MySQL connects.  If empty, uses the built-in
-; MySQL defaults.
-mysql.default_socket =
+; Allow or prevent persistent links.
+; https://php.net/mysqli.allow-persistent
+mysqli.allow_persistent = On
 
-; Default host for mysql_connect() (doesn't apply in safe mode).
-mysql.default_host =
-
-; Default user for mysql_connect() (doesn't apply in safe mode).
-mysql.default_user =
-
-; Default password for mysql_connect() (doesn't apply in safe mode).
-; Note that this is generally a *bad* idea to store passwords in this file.
-; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password")
-; and reveal this password!  And of course, any users with read access to this
-; file will be able to reveal the password as well.
-mysql.default_password =
-
-; Maximum time (in secondes) for connect timeout. -1 means no limit
-mysql.connect_timeout = 60
-
-; Trace mode. When trace_mode is active (=On), warnings for table/index scans and
-; SQL-Errors will be displayed.
-mysql.trace_mode = Off
-
-[MySQLI]
-
 ; Maximum number of links.  -1 means no limit.
+; https://php.net/mysqli.max-links
 mysqli.max_links = -1
 
 ; Default port number for mysqli_connect().  If unset, mysqli_connect() will use
@@ -770,16 +1163,20 @@
 ; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
 ; compile-time value defined MYSQL_PORT (in that order).  Win32 will only look
 ; at MYSQL_PORT.
+; https://php.net/mysqli.default-port
 mysqli.default_port = 3306
 
 ; Default socket name for local MySQL connects.  If empty, uses the built-in
 ; MySQL defaults.
+; https://php.net/mysqli.default-socket
 mysqli.default_socket =
 
-; Default host for mysql_connect() (doesn't apply in safe mode).
+; Default host for mysqli_connect() (doesn't apply in safe mode).
+; https://php.net/mysqli.default-host
 mysqli.default_host =
 
-; Default user for mysql_connect() (doesn't apply in safe mode).
+; Default user for mysqli_connect() (doesn't apply in safe mode).
+; https://php.net/mysqli.default-user
 mysqli.default_user =
 
 ; Default password for mysqli_connect() (doesn't apply in safe mode).
@@ -787,140 +1184,144 @@
 ; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw")
 ; and reveal this password!  And of course, any users with read access to this
 ; file will be able to reveal the password as well.
+; https://php.net/mysqli.default-pw
 mysqli.default_pw =
 
 ; Allow or prevent reconnect
 mysqli.reconnect = Off
 
-[mSQL]
-; Allow or prevent persistent links.
-msql.allow_persistent = On
+; If this option is enabled, closing a persistent connection will rollback
+; any pending transactions of this connection, before it is put back
+; into the persistent connection pool.
+;mysqli.rollback_on_cached_plink = Off
 
-; Maximum number of persistent links.  -1 means no limit.
-msql.max_persistent = -1
+[mysqlnd]
+; Enable / Disable collection of general statistics by mysqlnd which can be
+; used to tune and monitor MySQL operations.
+mysqlnd.collect_statistics = On
 
-; Maximum number of links (persistent+non persistent).  -1 means no limit.
-msql.max_links = -1
+; Enable / Disable collection of memory usage statistics by mysqlnd which can be
+; used to tune and monitor MySQL operations.
+mysqlnd.collect_memory_statistics = Off
 
-[PostgresSQL]
+; Records communication from all extensions using mysqlnd to the specified log
+; file.
+; https://php.net/mysqlnd.debug
+;mysqlnd.debug =
+
+; Defines which queries will be logged.
+;mysqlnd.log_mask = 0
+
+; Default size of the mysqlnd memory pool, which is used by result sets.
+;mysqlnd.mempool_default_size = 16000
+
+; Size of a pre-allocated buffer used when sending commands to MySQL in bytes.
+;mysqlnd.net_cmd_buffer_size = 2048
+
+; Size of a pre-allocated buffer used for reading data sent by the server in
+; bytes.
+;mysqlnd.net_read_buffer_size = 32768
+
+; Timeout for network requests in seconds.
+;mysqlnd.net_read_timeout = 31536000
+
+; SHA-256 Authentication Plugin related. File with the MySQL server public RSA
+; key.
+;mysqlnd.sha256_server_public_key =
+
+[OCI8]
+
+; Connection: Enables privileged connections using external
+; credentials (OCI_SYSOPER, OCI_SYSDBA)
+; https://php.net/oci8.privileged-connect
+;oci8.privileged_connect = Off
+
+; Connection: The maximum number of persistent OCI8 connections per
+; process. Using -1 means no limit.
+; https://php.net/oci8.max-persistent
+;oci8.max_persistent = -1
+
+; Connection: The maximum number of seconds a process is allowed to
+; maintain an idle persistent connection. Using -1 means idle
+; persistent connections will be maintained forever.
+; https://php.net/oci8.persistent-timeout
+;oci8.persistent_timeout = -1
+
+; Connection: The number of seconds that must pass before issuing a
+; ping during oci_pconnect() to check the connection validity. When
+; set to 0, each oci_pconnect() will cause a ping. Using -1 disables
+; pings completely.
+; https://php.net/oci8.ping-interval
+;oci8.ping_interval = 60
+
+; Connection: Set this to a user chosen connection class to be used
+; for all pooled server requests with Oracle 11g Database Resident
+; Connection Pooling (DRCP).  To use DRCP, this value should be set to
+; the same string for all web servers running the same application,
+; the database pool must be configured, and the connection string must
+; specify to use a pooled server.
+;oci8.connection_class =
+
+; High Availability: Using On lets PHP receive Fast Application
+; Notification (FAN) events generated when a database node fails. The
+; database must also be configured to post FAN events.
+;oci8.events = Off
+
+; Tuning: This option enables statement caching, and specifies how
+; many statements to cache. Using 0 disables statement caching.
+; https://php.net/oci8.statement-cache-size
+;oci8.statement_cache_size = 20
+
+; Tuning: Enables statement prefetching and sets the default number of
+; rows that will be fetched automatically after statement execution.
+; https://php.net/oci8.default-prefetch
+;oci8.default_prefetch = 100
+
+; Compatibility. Using On means oci_close() will not close
+; oci_connect() and oci_new_connect() connections.
+; https://php.net/oci8.old-oci-close-semantics
+;oci8.old_oci_close_semantics = Off
+
+[PostgreSQL]
 ; Allow or prevent persistent links.
+; https://php.net/pgsql.allow-persistent
 pgsql.allow_persistent = On
 
 ; Detect broken persistent links always with pg_pconnect().
 ; Auto reset feature requires a little overheads.
+; https://php.net/pgsql.auto-reset-persistent
 pgsql.auto_reset_persistent = Off
 
 ; Maximum number of persistent links.  -1 means no limit.
+; https://php.net/pgsql.max-persistent
 pgsql.max_persistent = -1
 
 ; Maximum number of links (persistent+non persistent).  -1 means no limit.
+; https://php.net/pgsql.max-links
 pgsql.max_links = -1
 
 ; Ignore PostgreSQL backends Notice message or not.
 ; Notice message logging require a little overheads.
+; https://php.net/pgsql.ignore-notice
 pgsql.ignore_notice = 0
 
-; Log PostgreSQL backends Noitce message or not.
+; Log PostgreSQL backends Notice message or not.
 ; Unless pgsql.ignore_notice=0, module cannot log notice message.
+; https://php.net/pgsql.log-notice
 pgsql.log_notice = 0
 
-[Sybase]
-; Allow or prevent persistent links.
-sybase.allow_persistent = On
-
-; Maximum number of persistent links.  -1 means no limit.
-sybase.max_persistent = -1
-
-; Maximum number of links (persistent + non-persistent).  -1 means no limit.
-sybase.max_links = -1
-
-;sybase.interface_file = "/usr/sybase/interfaces"
-
-; Minimum error severity to display.
-sybase.min_error_severity = 10
-
-; Minimum message severity to display.
-sybase.min_message_severity = 10
-
-; Compatability mode with old versions of PHP 3.0.
-; If on, this will cause PHP to automatically assign types to results according
-; to their Sybase type, instead of treating them all as strings.  This
-; compatability mode will probably not stay around forever, so try applying
-; whatever necessary changes to your code, and turn it off.
-sybase.compatability_mode = Off
-
-[Sybase-CT]
-; Allow or prevent persistent links.
-sybct.allow_persistent = On
-
-; Maximum number of persistent links.  -1 means no limit.
-sybct.max_persistent = -1
-
-; Maximum number of links (persistent + non-persistent).  -1 means no limit.
-sybct.max_links = -1
-
-; Minimum server message severity to display.
-sybct.min_server_severity = 10
-
-; Minimum client message severity to display.
-sybct.min_client_severity = 10
-
-[dbx]
-; returned column names can be converted for compatibility reasons
-; possible values for dbx.colnames_case are
-; "unchanged" (default, if not set)
-; "lowercase"
-; "uppercase"
-; the recommended default is either upper- or lowercase, but
-; unchanged is currently set for backwards compatibility
-dbx.colnames_case = "lowercase"
-
 [bcmath]
 ; Number of decimal digits for all bcmath functions.
+; https://php.net/bcmath.scale
 bcmath.scale = 0
 
 [browscap]
+; https://php.net/browscap
 ;browscap = extra/browscap.ini
 
-[Informix]
-; Default host for ifx_connect() (doesn't apply in safe mode).
-ifx.default_host =
-
-; Default user for ifx_connect() (doesn't apply in safe mode).
-ifx.default_user =
-
-; Default password for ifx_connect() (doesn't apply in safe mode).
-ifx.default_password =
-
-; Allow or prevent persistent links.
-ifx.allow_persistent = On
-
-; Maximum number of persistent links.  -1 means no limit.
-ifx.max_persistent = -1
-
-; Maximum number of links (persistent + non-persistent).  -1 means no limit.
-ifx.max_links = -1
-
-; If on, select statements return the contents of a text blob instead of its id.
-ifx.textasvarchar = 0
-
-; If on, select statements return the contents of a byte blob instead of its id.
-ifx.byteasvarchar = 0
-
-; Trailing blanks are stripped from fixed-length char columns.  May help the
-; life of Informix SE users.
-ifx.charasvarchar = 0
-
-; If on, the contents of text and byte blobs are dumped to a file instead of
-; keeping them in memory.
-ifx.blobinfile = 0
-
-; NULL's are returned as empty strings, unless this is set to 1.  In that case,
-; NULL's are returned as string 'NULL'.
-ifx.nullformat = 0
-
 [Session]
 ; Handler used to store/retrieve data.
+; https://php.net/session.save-handler
 session.save_handler = files
 
 ; Argument passed to save_handler.  In the case of files, this is the path
@@ -927,15 +1328,15 @@
 ; where data files are stored. Note: Windows users have to change this
 ; variable in order to use PHP's session functions.
 ;
-; As of PHP 4.0.1, you can define the path as:
+; The path can be defined as:
 ;
 ;     session.save_path = "N;/path"
 ;
 ; where N is an integer.  Instead of storing all the session files in
 ; /path, what this will do is use subdirectories N-levels deep, and
-; store the session data in those directories.  This is useful if you
-; or your OS have problems with lots of files in one directory, and is
-; a more efficient layout for servers that handle lots of sessions.
+; store the session data in those directories.  This is useful if
+; your OS has problems with many files in one directory, and is
+; a more efficient layout for servers that handle many sessions.
 ;
 ; NOTE 1: PHP will not create this directory structure automatically.
 ;         You can use the script in the ext/session dir for that purpose.
@@ -949,44 +1350,89 @@
 ;
 ; where MODE is the octal representation of the mode. Note that this
 ; does not overwrite the process's umask.
+; https://php.net/session.save-path
 ;session.save_path = "/tmp"
 
+; Whether to use strict session mode.
+; Strict session mode does not accept an uninitialized session ID, and
+; regenerates the session ID if the browser sends an uninitialized session ID.
+; Strict mode protects applications from session fixation via a session adoption
+; vulnerability. It is disabled by default for maximum compatibility, but
+; enabling it is encouraged.
+; https://wiki.php.net/rfc/strict_sessions
+session.use_strict_mode = 0
+
 ; Whether to use cookies.
+; https://php.net/session.use-cookies
 session.use_cookies = 1
 
-; This option enables administrators to make their users invulnerable to
-; attacks which involve passing session ids in URLs; defaults to 0.
-; session.use_only_cookies = 1
+; https://php.net/session.cookie-secure
+;session.cookie_secure =
 
+; This option forces PHP to fetch and use a cookie for storing and maintaining
+; the session id. We encourage this operation as it's very helpful in combating
+; session hijacking when not specifying and managing your own session id. It is
+; not the be-all and end-all of session hijacking defense, but it's a good start.
+; https://php.net/session.use-only-cookies
+session.use_only_cookies = 1
+
 ; Name of the session (used as cookie name).
+; https://php.net/session.name
 session.name = PHPSESSID
 
 ; Initialize session on request startup.
+; https://php.net/session.auto-start
 session.auto_start = 0
 
 ; Lifetime in seconds of cookie or, if 0, until browser is restarted.
+; https://php.net/session.cookie-lifetime
 session.cookie_lifetime = 0
 
 ; The path for which the cookie is valid.
+; https://php.net/session.cookie-path
 session.cookie_path = /
 
 ; The domain for which the cookie is valid.
+; https://php.net/session.cookie-domain
 session.cookie_domain =
 
-; Handler used to serialize data.  php is the standard serializer of PHP.
+; Whether or not to add the httpOnly flag to the cookie, which makes it
+; inaccessible to browser scripting languages such as JavaScript.
+; https://php.net/session.cookie-httponly
+session.cookie_httponly =
+
+; Add SameSite attribute to cookie to help mitigate Cross-Site Request Forgery (CSRF/XSRF)
+; Current valid values are "Strict", "Lax" or "None". When using "None",
+; make sure to include the quotes, as `none` is interpreted like `false` in ini files.
+; https://tools.ietf.org/html/draft-west-first-party-cookies-07
+session.cookie_samesite =
+
+; Handler used to serialize data. php is the standard serializer of PHP.
+; https://php.net/session.serialize-handler
 session.serialize_handler = php
 
-; Define the probability that the 'garbage collection' process is started
-; on every session initialization.
-; The probability is calculated by using gc_probability/gc_divisor,
-; e.g. 1/100 means there is a 1% chance that the GC process starts
-; on each request.
-
+; Defines the probability that the 'garbage collection' process is started on every
+; session initialization. The probability is calculated by using gc_probability/gc_divisor,
+; e.g. 1/100 means there is a 1% chance that the GC process starts on each request.
+; Default Value: 1
+; Development Value: 1
+; Production Value: 1
+; https://php.net/session.gc-probability
 session.gc_probability = 1
-session.gc_divisor     = 1000
 
+; Defines the probability that the 'garbage collection' process is started on every
+; session initialization. The probability is calculated by using gc_probability/gc_divisor,
+; e.g. 1/100 means there is a 1% chance that the GC process starts on each request.
+; For high volume production servers, using a value of 1000 is a more efficient approach.
+; Default Value: 100
+; Development Value: 1000
+; Production Value: 1000
+; https://php.net/session.gc-divisor
+session.gc_divisor = 1000
+
 ; After this number of seconds, stored data will be seen as 'garbage' and
 ; cleaned up by the garbage collection process.
+; https://php.net/session.gc-maxlifetime
 session.gc_maxlifetime = 1440
 
 ; NOTE: If you are using the subdirectory option for storing session files
@@ -993,243 +1439,265 @@
 ;       (see session.save_path above), then garbage collection does *not*
 ;       happen automatically.  You will need to do your own garbage
 ;       collection through a shell script, cron entry, or some other method.
-;       For example, the following script would is the equivalent of
-;       setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
-;          cd /path/to/sessions; find -cmin +24 | xargs rm
+;       For example, the following script is the equivalent of setting
+;       session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
+;          find /path/to/sessions -cmin +24 -type f | xargs rm
 
-; PHP 4.2 and less have an undocumented feature/bug that allows you to
-; to initialize a session variable in the global scope, albeit register_globals
-; is disabled.  PHP 4.3 and later will warn you, if this feature is used.
-; You can disable the feature and the warning separately. At this time,
-; the warning is only displayed, if bug_compat_42 is enabled.
-
-session.bug_compat_42 = 0
-session.bug_compat_warn = 1
-
 ; Check HTTP Referer to invalidate externally stored URLs containing ids.
 ; HTTP_REFERER has to contain this substring for the session to be
 ; considered as valid.
+; https://php.net/session.referer-check
 session.referer_check =
 
-; How many bytes to read from the file.
-session.entropy_length = 0
-
-; Specified here to create the session id.
-session.entropy_file =
-
-;session.entropy_length = 16
-
-;session.entropy_file = /dev/urandom
-
 ; Set to {nocache,private,public,} to determine HTTP caching aspects
 ; or leave this empty to avoid sending anti-caching headers.
+; https://php.net/session.cache-limiter
 session.cache_limiter = nocache
 
 ; Document expires after n minutes.
+; https://php.net/session.cache-expire
 session.cache_expire = 180
 
 ; trans sid support is disabled by default.
-; Use of trans sid may risk your users security.
+; Use of trans sid may risk your users' security.
 ; Use this option with caution.
 ; - User may send URL contains active session ID
 ;   to other person via. email/irc/etc.
 ; - URL that contains active session ID may be stored
-;   in publically accessible computer.
+;   in publicly accessible computer.
 ; - User may access your site with the same session ID
 ;   always using URL stored in browser's history or bookmarks.
+; https://php.net/session.use-trans-sid
 session.use_trans_sid = 0
 
-; Select a hash function
-; 0: MD5   (128 bits)
-; 1: SHA-1 (160 bits)
-session.hash_function = 0
+; Set session ID character length. This value could be between 22 to 256.
+; Shorter length than default is supported only for compatibility reason.
+; Users should use 32 or more chars.
+; https://php.net/session.sid-length
+; Default Value: 32
+; Development Value: 26
+; Production Value: 26
+session.sid_length = 26
 
-; Define how many bits are stored in each character when converting
-; the binary hash data to something readable.
-;
-; 4 bits: 0-9, a-f
-; 5 bits: 0-9, a-v
-; 6 bits: 0-9, a-z, A-Z, "-", ","
-session.hash_bits_per_character = 5
-
 ; The URL rewriter will look for URLs in a defined set of HTML tags.
-; form/fieldset are special; if you include them here, the rewriter will
+; <form> is special; if you include them here, the rewriter will
 ; add a hidden <input> field with the info which is otherwise appended
-; to URLs.  If you want XHTML conformity, remove the form entry.
+; to URLs. <form> tag's action attribute URL will not be modified
+; unless it is specified.
 ; Note that all valid entries require a "=", even if no value follows.
-url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
+; Default Value: "a=href,area=href,frame=src,form="
+; Development Value: "a=href,area=href,frame=src,form="
+; Production Value: "a=href,area=href,frame=src,form="
+; https://php.net/url-rewriter.tags
+session.trans_sid_tags = "a=href,area=href,frame=src,form="
 
-[MSSQL]
-; Allow or prevent persistent links.
-mssql.allow_persistent = On
+; URL rewriter does not rewrite absolute URLs by default.
+; To enable rewrites for absolute paths, target hosts must be specified
+; at RUNTIME. i.e. use ini_set()
+; <form> tags is special. PHP will check action attribute's URL regardless
+; of session.trans_sid_tags setting.
+; If no host is defined, HTTP_HOST will be used for allowed host.
+; Example value: php.net,www.php.net,wiki.php.net
+; Use "," for multiple hosts. No spaces are allowed.
+; Default Value: ""
+; Development Value: ""
+; Production Value: ""
+;session.trans_sid_hosts=""
 
-; Maximum number of persistent links.  -1 means no limit.
-mssql.max_persistent = -1
+; Define how many bits are stored in each character when converting
+; the binary hash data to something readable.
+; Possible values:
+;   4  (4 bits: 0-9, a-f)
+;   5  (5 bits: 0-9, a-v)
+;   6  (6 bits: 0-9, a-z, A-Z, "-", ",")
+; Default Value: 4
+; Development Value: 5
+; Production Value: 5
+; https://php.net/session.hash-bits-per-character
+session.sid_bits_per_character = 5
 
-; Maximum number of links (persistent+non persistent).  -1 means no limit.
-mssql.max_links = -1
+; Enable upload progress tracking in $_SESSION
+; Default Value: On
+; Development Value: On
+; Production Value: On
+; https://php.net/session.upload-progress.enabled
+;session.upload_progress.enabled = On
 
-; Minimum error severity to display.
-mssql.min_error_severity = 10
+; Cleanup the progress information as soon as all POST data has been read
+; (i.e. upload completed).
+; Default Value: On
+; Development Value: On
+; Production Value: On
+; https://php.net/session.upload-progress.cleanup
+;session.upload_progress.cleanup = On
 
-; Minimum message severity to display.
-mssql.min_message_severity = 10
+; A prefix used for the upload progress key in $_SESSION
+; Default Value: "upload_progress_"
+; Development Value: "upload_progress_"
+; Production Value: "upload_progress_"
+; https://php.net/session.upload-progress.prefix
+;session.upload_progress.prefix = "upload_progress_"
 
-; Compatability mode with old versions of PHP 3.0.
-mssql.compatability_mode = Off
+; The index name (concatenated with the prefix) in $_SESSION
+; containing the upload progress information
+; Default Value: "PHP_SESSION_UPLOAD_PROGRESS"
+; Development Value: "PHP_SESSION_UPLOAD_PROGRESS"
+; Production Value: "PHP_SESSION_UPLOAD_PROGRESS"
+; https://php.net/session.upload-progress.name
+;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS"
 
-; Connect timeout
-;mssql.connect_timeout = 5
+; How frequently the upload progress should be updated.
+; Given either in percentages (per-file), or in bytes
+; Default Value: "1%"
+; Development Value: "1%"
+; Production Value: "1%"
+; https://php.net/session.upload-progress.freq
+;session.upload_progress.freq =  "1%"
 
-; Query timeout
-;mssql.timeout = 60
+; The minimum delay between updates, in seconds
+; Default Value: 1
+; Development Value: 1
+; Production Value: 1
+; https://php.net/session.upload-progress.min-freq
+;session.upload_progress.min_freq = "1"
 
-; Valid range 0 - 2147483647.  Default = 4096.
-;mssql.textlimit = 4096
+; Only write session data when session data is changed. Enabled by default.
+; https://php.net/session.lazy-write
+;session.lazy_write = On
 
-; Valid range 0 - 2147483647.  Default = 4096.
-;mssql.textsize = 4096
+[Assertion]
+; Switch whether to compile assertions at all (to have no overhead at run-time)
+; -1: Do not compile at all
+;  0: Jump over assertion at run-time
+;  1: Execute assertions
+; Changing from or to a negative value is only possible in php.ini! (For turning assertions on and off at run-time, see assert.active, when zend.assertions = 1)
+; Default Value: 1
+; Development Value: 1
+; Production Value: -1
+; https://php.net/zend.assertions
+zend.assertions = -1
 
-; Limits the number of records in each batch.  0 = all records in one batch.
-;mssql.batchsize = 0
-
-; Specify how datetime and datetim4 columns are returned
-; On => Returns data converted to SQL server settings
-; Off => Returns values as YYYY-MM-DD hh:mm:ss
-;mssql.datetimeconvert = On
-
-; Use NT authentication when connecting to the server
-mssql.secure_connection = Off
-
-; Specify max number of processes. Default = 25
-;mssql.max_procs = 25
-
-[Assertion]
 ; Assert(expr); active by default.
+; https://php.net/assert.active
 ;assert.active = On
 
-; Issue a PHP warning for each failed assertion.
+; Throw an AssertionError on failed assertions
+; https://php.net/assert.exception
+;assert.exception = On
+
+; Issue a PHP warning for each failed assertion. (Overridden by assert.exception if active)
+; https://php.net/assert.warning
 ;assert.warning = On
 
 ; Don't bail out by default.
+; https://php.net/assert.bail
 ;assert.bail = Off
 
 ; User-function to be called if an assertion fails.
+; https://php.net/assert.callback
 ;assert.callback = 0
 
-; Eval the expression with current error_reporting().  Set to true if you want
-; error_reporting(0) around the eval().
-;assert.quiet_eval = 0
-
-[Ingres II]
-; Allow or prevent persistent links.
-ingres.allow_persistent = On
-
-; Maximum number of persistent links.  -1 means no limit.
-ingres.max_persistent = -1
-
-; Maximum number of links, including persistents.  -1 means no limit.
-ingres.max_links = -1
-
-; Default database (format: [node_id::]dbname[/srv_class]).
-ingres.default_database =
-
-; Default user.
-ingres.default_user =
-
-; Default password.
-ingres.default_password =
-
-[Verisign Payflow Pro]
-; Default Payflow Pro server.
-pfpro.defaulthost = "test-payflow.verisign.com"
-
-; Default port to connect to.
-pfpro.defaultport = 443
-
-; Default timeout in seconds.
-pfpro.defaulttimeout = 30
-
-; Default proxy IP address (if required).
-;pfpro.proxyaddress =
-
-; Default proxy port.
-;pfpro.proxyport =
-
-; Default proxy logon.
-;pfpro.proxylogon =
-
-; Default proxy password.
-;pfpro.proxypassword =
-
-[com]
+[COM]
 ; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs
+; https://php.net/com.typelib-file
 ;com.typelib_file =
+
 ; allow Distributed-COM calls
+; https://php.net/com.allow-dcom
 ;com.allow_dcom = true
-; autoregister constants of a components typlib on com_load()
+
+; autoregister constants of a component's typelib on com_load()
+; https://php.net/com.autoregister-typelib
 ;com.autoregister_typelib = true
+
 ; register constants casesensitive
+; https://php.net/com.autoregister-casesensitive
 ;com.autoregister_casesensitive = false
-; show warnings on duplicate constat registrations
+
+; show warnings on duplicate constant registrations
+; https://php.net/com.autoregister-verbose
 ;com.autoregister_verbose = true
 
+; The default character set code-page to use when passing strings to and from COM objects.
+; Default: system ANSI code page
+;com.code_page=
+
+; The version of the .NET framework to use. The value of the setting are the first three parts
+; of the framework's version number, separated by dots, and prefixed with "v", e.g. "v4.0.30319".
+;com.dotnet_version=
+
 [mbstring]
 ; language for internal character representation.
-mbstring.language = UTF-8
+; This affects mb_send_mail() and mbstring.detect_order.
+; https://php.net/mbstring.language
+;mbstring.language = Japanese
 
+; Use of this INI entry is deprecated, use global internal_encoding instead.
 ; internal/script encoding.
-; Some encoding cannot work as internal encoding.
-; (e.g. SJIS, BIG5, ISO-2022-*)
-mbstring.internal_encoding = UTF-8
+; Some encoding cannot work as internal encoding. (e.g. SJIS, BIG5, ISO-2022-*)
+; If empty, default_charset or internal_encoding or iconv.internal_encoding is used.
+; The precedence is: default_charset < internal_encoding < iconv.internal_encoding
+;mbstring.internal_encoding =
 
+; Use of this INI entry is deprecated, use global input_encoding instead.
 ; http input encoding.
-mbstring.http_input = UTF-8
+; mbstring.encoding_translation = On is needed to use this setting.
+; If empty, default_charset or input_encoding or mbstring.input is used.
+; The precedence is: default_charset < input_encoding < mbstring.http_input
+; https://php.net/mbstring.http-input
+;mbstring.http_input =
 
-; http output encoding. mb_output_handler must be
-; registered as output buffer to function
-;mbstring.http_output = SJIS
+; Use of this INI entry is deprecated, use global output_encoding instead.
+; http output encoding.
+; mb_output_handler must be registered as output buffer to function.
+; If empty, default_charset or output_encoding or mbstring.http_output is used.
+; The precedence is: default_charset < output_encoding < mbstring.http_output
+; To use an output encoding conversion, mbstring's output handler must be set
+; otherwise output encoding conversion cannot be performed.
+; https://php.net/mbstring.http-output
+;mbstring.http_output =
 
-; enable automatic encoding translation accoding to
+; enable automatic encoding translation according to
 ; mbstring.internal_encoding setting. Input chars are
 ; converted to internal encoding by setting this to On.
 ; Note: Do _not_ use automatic encoding translation for
 ;       portable libs/applications.
-mbstring.encoding_translation = Off
+; https://php.net/mbstring.encoding-translation
+;mbstring.encoding_translation = Off
 
 ; automatic encoding detection order.
-; auto means
-mbstring.detect_order = UTF-8
+; "auto" detect order is changed according to mbstring.language
+; https://php.net/mbstring.detect-order
+;mbstring.detect_order = auto
 
 ; substitute_character used when character cannot be converted
 ; one from another
-;mbstring.substitute_character = none;
+; https://php.net/mbstring.substitute-character
+;mbstring.substitute_character = none
 
-; overload(replace) single byte functions by mbstring functions.
-; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),
-; etc. Possible values are 0,1,2,4 or combination of them.
-; For example, 7 for overload everything.
-; 0: No overload
-; 1: Overload mail() function
-; 2: Overload str*() functions
-; 4: Overload ereg*() functions
-;mbstring.func_overload = 0
+; Enable strict encoding detection.
+;mbstring.strict_detection = Off
 
-[FrontBase]
-;fbsql.allow_persistent = On
-;fbsql.autocommit = On
-;fbsql.default_database =
-;fbsql.default_database_password =
-;fbsql.default_host =
-;fbsql.default_password =
-;fbsql.default_user = "_SYSTEM"
-;fbsql.generate_warnings = Off
-;fbsql.max_connections = 128
-;fbsql.max_links = 128
-;fbsql.max_persistent = -1
-;fbsql.max_results = 128
-;fbsql.batchSize = 1000
+; This directive specifies the regex pattern of content types for which mb_output_handler()
+; is activated.
+; Default: mbstring.http_output_conv_mimetypes=^(text/|application/xhtml\+xml)
+;mbstring.http_output_conv_mimetypes=
 
+; This directive specifies maximum stack depth for mbstring regular expressions. It is similar
+; to the pcre.recursion_limit for PCRE.
+;mbstring.regex_stack_limit=100000
+
+; This directive specifies maximum retry count for mbstring regular expressions. It is similar
+; to the pcre.backtrack_limit for PCRE.
+;mbstring.regex_retry_limit=1000000
+
+[gd]
+; Tell the jpeg decode to ignore warnings and try to create
+; a gd image. The warning will then be displayed as notices
+; disabled by default
+; https://php.net/gd.jpeg-ignore-warning
+;gd.jpeg_ignore_warning = 1
+
 [exif]
 ; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS.
 ; With mbstring support this will automatically be converted into the encoding
@@ -1236,31 +1704,246 @@
 ; given by corresponding encode setting. When empty mbstring.internal_encoding
 ; is used. For the decode settings you can distinguish between motorola and
 ; intel byte order. A decode setting cannot be empty.
+; https://php.net/exif.encode-unicode
 ;exif.encode_unicode = ISO-8859-15
+
+; https://php.net/exif.decode-unicode-motorola
 ;exif.decode_unicode_motorola = UCS-2BE
+
+; https://php.net/exif.decode-unicode-intel
 ;exif.decode_unicode_intel    = UCS-2LE
+
+; https://php.net/exif.encode-jis
 ;exif.encode_jis =
+
+; https://php.net/exif.decode-jis-motorola
 ;exif.decode_jis_motorola = JIS
+
+; https://php.net/exif.decode-jis-intel
 ;exif.decode_jis_intel    = JIS
 
 [Tidy]
 ; The path to a default tidy configuration file to use when using tidy
+; https://php.net/tidy.default-config
 ;tidy.default_config = /usr/local/lib/php/default.tcfg
 
 ; Should tidy clean and repair output automatically?
 ; WARNING: Do not use this option if you are generating non-html content
 ; such as dynamic images
+; https://php.net/tidy.clean-output
 tidy.clean_output = Off
 
 [soap]
 ; Enables or disables WSDL caching feature.
+; https://php.net/soap.wsdl-cache-enabled
 soap.wsdl_cache_enabled=1
+
 ; Sets the directory name where SOAP extension will put cache files.
+; https://php.net/soap.wsdl-cache-dir
 soap.wsdl_cache_dir="/tmp"
-; (time to live) Sets the number of second while cached file will be used 
+
+; (time to live) Sets the number of second while cached file will be used
 ; instead of original one.
+; https://php.net/soap.wsdl-cache-ttl
 soap.wsdl_cache_ttl=86400
 
-; Local Variables:
-; tab-width: 4
-; End:
+; Sets the size of the cache limit. (Max. number of WSDL files to cache)
+soap.wsdl_cache_limit = 5
+
+[sysvshm]
+; A default size of the shared memory segment
+;sysvshm.init_mem = 10000
+
+[ldap]
+; Sets the maximum number of open links or -1 for unlimited.
+ldap.max_links = -1
+
+[dba]
+;dba.default_handler=
+
+[opcache]
+; Determines if Zend OPCache is enabled
+;opcache.enable=1
+
+; Determines if Zend OPCache is enabled for the CLI version of PHP
+;opcache.enable_cli=0
+
+; The OPcache shared memory storage size.
+;opcache.memory_consumption=128
+
+; The amount of memory for interned strings in Mbytes.
+;opcache.interned_strings_buffer=8
+
+; The maximum number of keys (scripts) in the OPcache hash table.
+; Only numbers between 200 and 1000000 are allowed.
+;opcache.max_accelerated_files=10000
+
+; The maximum percentage of "wasted" memory until a restart is scheduled.
+;opcache.max_wasted_percentage=5
+
+; When this directive is enabled, the OPcache appends the current working
+; directory to the script key, thus eliminating possible collisions between
+; files with the same name (basename). Disabling the directive improves
+; performance, but may break existing applications.
+;opcache.use_cwd=1
+
+; When disabled, you must reset the OPcache manually or restart the
+; webserver for changes to the filesystem to take effect.
+;opcache.validate_timestamps=1
+
+; How often (in seconds) to check file timestamps for changes to the shared
+; memory storage allocation. ("1" means validate once per second, but only
+; once per request. "0" means always validate)
+;opcache.revalidate_freq=2
+
+; Enables or disables file search in include_path optimization
+;opcache.revalidate_path=0
+
+; If disabled, all PHPDoc comments are dropped from the code to reduce the
+; size of the optimized code.
+;opcache.save_comments=1
+
+; If enabled, compilation warnings (including notices and deprecations) will
+; be recorded and replayed each time a file is included. Otherwise, compilation
+; warnings will only be emitted when the file is first cached.
+;opcache.record_warnings=0
+
+; Allow file existence override (file_exists, etc.) performance feature.
+;opcache.enable_file_override=0
+
+; A bitmask, where each bit enables or disables the appropriate OPcache
+; passes
+;opcache.optimization_level=0x7FFFBFFF
+
+;opcache.dups_fix=0
+
+; The location of the OPcache blacklist file (wildcards allowed).
+; Each OPcache blacklist file is a text file that holds the names of files
+; that should not be accelerated. The file format is to add each filename
+; to a new line. The filename may be a full path or just a file prefix
+; (i.e., /var/www/x  blacklists all the files and directories in /var/www
+; that start with 'x'). Line starting with a ; are ignored (comments).
+;opcache.blacklist_filename=
+
+; Allows exclusion of large files from being cached. By default all files
+; are cached.
+;opcache.max_file_size=0
+
+; Check the cache checksum each N requests.
+; The default value of "0" means that the checks are disabled.
+;opcache.consistency_checks=0
+
+; How long to wait (in seconds) for a scheduled restart to begin if the cache
+; is not being accessed.
+;opcache.force_restart_timeout=180
+
+; OPcache error_log file name. Empty string assumes "stderr".
+;opcache.error_log=
+
+; All OPcache errors go to the Web server log.
+; By default, only fatal errors (level 0) or errors (level 1) are logged.
+; You can also enable warnings (level 2), info messages (level 3) or
+; debug messages (level 4).
+;opcache.log_verbosity_level=1
+
+; Preferred Shared Memory back-end. Leave empty and let the system decide.
+;opcache.preferred_memory_model=
+
+; Protect the shared memory from unexpected writing during script execution.
+; Useful for internal debugging only.
+;opcache.protect_memory=0
+
+; Allows calling OPcache API functions only from PHP scripts which path is
+; started from specified string. The default "" means no restriction
+;opcache.restrict_api=
+
+; Mapping base of shared memory segments (for Windows only). All the PHP
+; processes have to map shared memory into the same address space. This
+; directive allows to manually fix the "Unable to reattach to base address"
+; errors.
+;opcache.mmap_base=
+
+; Facilitates multiple OPcache instances per user (for Windows only). All PHP
+; processes with the same cache ID and user share an OPcache instance.
+;opcache.cache_id=
+
+; Enables and sets the second level cache directory.
+; It should improve performance when SHM memory is full, at server restart or
+; SHM reset. The default "" disables file based caching.
+;opcache.file_cache=
+
+; Enables or disables opcode caching in shared memory.
+;opcache.file_cache_only=0
+
+; Enables or disables checksum validation when script loaded from file cache.
+;opcache.file_cache_consistency_checks=1
+
+; Implies opcache.file_cache_only=1 for a certain process that failed to
+; reattach to the shared memory (for Windows only). Explicitly enabled file
+; cache is required.
+;opcache.file_cache_fallback=1
+
+; Enables or disables copying of PHP code (text segment) into HUGE PAGES.
+; This should improve performance, but requires appropriate OS configuration.
+;opcache.huge_code_pages=1
+
+; Validate cached file permissions.
+;opcache.validate_permission=0
+
+; Prevent name collisions in chroot'ed environment.
+;opcache.validate_root=0
+
+; If specified, it produces opcode dumps for debugging different stages of
+; optimizations.
+;opcache.opt_debug_level=0
+
+; Specifies a PHP script that is going to be compiled and executed at server
+; start-up.
+; https://php.net/opcache.preload
+;opcache.preload=
+
+; Preloading code as root is not allowed for security reasons. This directive
+; facilitates to let the preloading to be run as another user.
+; https://php.net/opcache.preload_user
+;opcache.preload_user=
+
+; Prevents caching files that are less than this number of seconds old. It
+; protects from caching of incompletely updated files. In case all file updates
+; on your site are atomic, you may increase performance by setting it to "0".
+;opcache.file_update_protection=2
+
+; Absolute path used to store shared lockfiles (for *nix only).
+;opcache.lockfile_path=/tmp
+
+[curl]
+; A default value for the CURLOPT_CAINFO option. This is required to be an
+; absolute path.
+;curl.cainfo =
+
+[openssl]
+; The location of a Certificate Authority (CA) file on the local filesystem
+; to use when verifying the identity of SSL/TLS peers. Most users should
+; not specify a value for this directive as PHP will attempt to use the
+; OS-managed cert stores in its absence. If specified, this value may still
+; be overridden on a per-stream basis via the "cafile" SSL stream context
+; option.
+;openssl.cafile=
+
+; If openssl.cafile is not specified or if the CA file is not found, the
+; directory pointed to by openssl.capath is searched for a suitable
+; certificate. This value must be a correctly hashed certificate directory.
+; Most users should not specify a value for this directive as PHP will
+; attempt to use the OS-managed cert stores in its absence. If specified,
+; this value may still be overridden on a per-stream basis via the "capath"
+; SSL stream context option.
+;openssl.capath=
+
+[ffi]
+; FFI API restriction. Possible values:
+; "preload" - enabled in CLI scripts and preloaded files (default)
+; "false"   - always disabled
+; "true"    - always enabled
+;ffi.enable=preload
+
+; List of headers files to preload, wildcard patterns allowed.
+;ffi.preload=

Modified: sandbox/jng/vanilla_swig/cmake_bootstrap.sh
===================================================================
--- sandbox/jng/vanilla_swig/cmake_bootstrap.sh	2022-09-02 15:54:56 UTC (rev 9966)
+++ sandbox/jng/vanilla_swig/cmake_bootstrap.sh	2022-09-08 13:01:08 UTC (rev 9967)
@@ -147,14 +147,23 @@
 have_swig=$?
 if [ "$have_swig" != "0" ]; then
     echo "SWIG not found. Acquiring and building SWIG from source"
-    cd /tmp/ || exit
-    if [ ! -f /tmp/master.zip ]; then
+    # If this dir exists, it's a no-op
+    mkdir -p /tmp/download
+    cd /tmp/download || exit
+    if [ ! -f /tmp/download/master.zip ]; then
         # TODO: Until SWIG 4.1 is actually released, should fix the source archive to a particular commit (if it's possible)
         wget https://github.com/swig/swig/archive/refs/heads/master.zip
     fi
     unzip -o master.zip
-    cd /tmp/swig-master/ || exit
-    ./autogen.sh && ./configure && make && make install
+    cd /tmp/download/swig-master/ || exit
+    ./autogen.sh
+    check_build
+    ./configure
+    check_build
+    make
+    check_build
+    make install
+    check_build
 else
     echo "SWIG already installed"
 fi

Modified: sandbox/jng/vanilla_swig/cmake_linuxapt.sh
===================================================================
--- sandbox/jng/vanilla_swig/cmake_linuxapt.sh	2022-09-02 15:54:56 UTC (rev 9966)
+++ sandbox/jng/vanilla_swig/cmake_linuxapt.sh	2022-09-08 13:01:08 UTC (rev 9967)
@@ -162,15 +162,17 @@
     cd "$SOURCE_DIR/Oem/LinuxApt" || exit
     echo "Extracting httpd tarballs"
     tar -jxf httpd-${HTTPD_VER}.tar.bz2 -C "${LA_WORKDIR}"
-    #tar -jxf httpd-${HTTPD_VER}-deps.tar.bz2 -C "${LA_WORKDIR}"
+    check_build
     if [ ! -d "${LA_WORKDIR}/httpd-$HTTPD_VER/srclib/apr" ]; then
         echo "Extracting apr tarball"
         tar -jxf apr-$APR_VER.tar.bz2 -C "${LA_WORKDIR}"
+        check_build
         mv "${LA_WORKDIR}/apr-$APR_VER" "${LA_WORKDIR}/httpd-$HTTPD_VER/srclib/apr"
     fi
     if [ ! -d "${LA_WORKDIR}/httpd-$HTTPD_VER/srclib/aprutil" ]; then
         echo "Extracting apr-util tarball"
         tar -jxf apr-util-$APR_UTIL_VER.tar.bz2 -C "${LA_WORKDIR}"
+        check_build
         mv "${LA_WORKDIR}/apr-util-$APR_UTIL_VER" "${LA_WORKDIR}/httpd-$HTTPD_VER/srclib/apr-util"
     fi
     cd "${HTTPD_WORKDIR}" || exit
@@ -199,7 +201,7 @@
     cd "$SOURCE_DIR/Oem/LinuxApt" || exit
     echo "Extracting PHP tarball"
     tar -jxf php-${PHP_VER}.tar.bz2 -C "${LA_WORKDIR}"
-
+    check_build
     echo "Configuring PHP"
     cd "${PHP_WORKDIR}" || exit
     # TODO: Patch out the use of meta_ccld so ccache can work: https://bugs.php.net/bug.php?id=75940
@@ -220,6 +222,7 @@
     cd "$SOURCE_DIR/Oem/LinuxApt" || exit
     echo "Extracting Tomcat Connector tarball"
     tar -zxf tomcat-connectors-${TC_VER}-src.tar.gz -C "${LA_WORKDIR}"
+    check_build
     cd "${TC_WORKDIR}/native" || exit
     echo "Configuring Tomcat Connector"
     ./configure --with-apxs="${MG_INSTALL_WEB_PREFIX}/apache2/bin/apxs" 2>&1 | tee "$LINUXAPT_WORK_DIR/configure_tc.log"



More information about the mapguide-commits mailing list