diff options
author | Scott Ullrich <sullrich@pfsense.org> | 2008-12-22 05:11:02 +0000 |
---|---|---|
committer | Scott Ullrich <sullrich@pfsense.org> | 2008-12-22 05:11:02 +0000 |
commit | e83dca8c593ea6ab1005f481207572f2848dce0e (patch) | |
tree | e42031841799c404fb97ecd8e059c56efa000b55 /etc/rc.php_ini_setup | |
parent | b5bc1a3ae4cddc96f52339ba4da1b75778eb4ee4 (diff) | |
download | pfsense-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-x | etc/rc.php_ini_setup | 65 |
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" |