summaryrefslogtreecommitdiffstats
path: root/etc/rc.php_ini_setup
diff options
context:
space:
mode:
authorScott Ullrich <sullrich@pfsense.org>2008-12-22 05:11:02 +0000
committerScott Ullrich <sullrich@pfsense.org>2008-12-22 05:11:02 +0000
commite83dca8c593ea6ab1005f481207572f2848dce0e (patch)
treee42031841799c404fb97ecd8e059c56efa000b55 /etc/rc.php_ini_setup
parentb5bc1a3ae4cddc96f52339ba4da1b75778eb4ee4 (diff)
downloadpfsense-e83dca8c593ea6ab1005f481207572f2848dce0e.zip
pfsense-e83dca8c593ea6ab1005f481207572f2848dce0e.tar.gz
* Define all modules in a variable
* Move php.ini to /tmp and test for built in modules * Generate final php.ini by merging the two together and only load needed modules from php.ini that are not built in
Diffstat (limited to 'etc/rc.php_ini_setup')
-rwxr-xr-xetc/rc.php_ini_setup65
1 files changed, 23 insertions, 42 deletions
diff --git a/etc/rc.php_ini_setup b/etc/rc.php_ini_setup
index 6de26de..5e784cb 100755
--- a/etc/rc.php_ini_setup
+++ b/etc/rc.php_ini_setup
@@ -3,6 +3,14 @@
# Set our operating platform
PLATFORM=`cat /etc/platform`
+PHPMODULES="pcre bz2 bcmath ctype curl gettext mbstring mhash \
+pcntl posix readline session shmop sysvmsg sysvsem sysvshm \
+tokenizer xml ldap zlib uploadprogress"
+
+mv /usr/local/etc/php.ini /tmp/
+mv /usr/local/lib/php.ini /tmp/
+LOADED_MODULES=`php -m | grep -v "\["`
+
if [ "$PLATFORM" != "cdrom" ]; then
# Populate a dummy php.ini to avoid
# the file being clobbered and the firewall
@@ -27,55 +35,28 @@ include_path = ".:/etc/inc:/usr/local/www:/usr/local/captiveportal:/usr/local/pk
uploadprogress.file.filename_template = /tmp/uploadprogress_%s.txt
extension_dir=/usr/local/lib/php/20060613/
-; add additional extensions below
-; standard PHP extension
-extension=pcre.so
-extension=bz2.so
-extension=bcmath.so
-extension=ctype.so
-extension=curl.so
-extension=gettext.so
-extension=mbstring.so
-extension=mhash.so
-;extension=openssl.so
-extension=pcntl.so
-extension=posix.so
-extension=readline.so
-extension=session.so
-;extension=simplexml.so
-extension=shmop.so
-extension=sysvmsg.so
-extension=sysvsem.so
-extension=sysvshm.so
-extension=tokenizer.so
-extension=xml.so
-extension=ldap.so
-extension=zlib.so
-extension=uploadprogress.so
-
-; standard PHP extensions currently beeing unused
-;extension=json.so
-;extension=ncurses.so
-;xmlreader.so
-;xmlwriter.so
-
-;[xdebug]
-;xdebug.remote_enable = On
-;xdebug.default_enable = On
-;xdebug.remote_mode = On
-;xdebug.remote_handler = dbgp
-;xdebug.remote_host = 127.0.0.1
-;xdebug.remote_port = 17869
-;xdebug.idekey = devphp
-
EOF
+# Loop through and generate modules to load.
+# Take into account modules built into php.
+for EXT in $PHPMODULES; do
+ SHOULDADD="true"
+ for LM in $LOADED_MODULES; do
+ if [ "$EXT" = "$LM" ]; then
+ SHOULDADD="false"
+ fi
+ done
+ if [ "$SHOULDADD" = "true" ]; then
+ echo "extension=${EXT}.so" >> /usr/local/lib/php.ini
+ fi
+done
+
RAM=`sysctl hw.realmem | awk '{print $2/1000000}' | awk -F '.' '{print $1}'`
export RAM
if [ $RAM -gt 96 ]; then
cat >>/usr/local/lib/php.ini <<EOF
-extension=apc.so
+
apc.enabled="1"
apc.enable_cli="1"
apc.shm_size="25"
OpenPOWER on IntegriCloud