summaryrefslogtreecommitdiff
path: root/www/wiki/maintenance/dev/installphp.sh
diff options
context:
space:
mode:
Diffstat (limited to 'www/wiki/maintenance/dev/installphp.sh')
-rwxr-xr-xwww/wiki/maintenance/dev/installphp.sh58
1 files changed, 58 insertions, 0 deletions
diff --git a/www/wiki/maintenance/dev/installphp.sh b/www/wiki/maintenance/dev/installphp.sh
new file mode 100755
index 00000000..1e3d410f
--- /dev/null
+++ b/www/wiki/maintenance/dev/installphp.sh
@@ -0,0 +1,58 @@
+#!/bin/bash
+
+if [ "x$BASH_SOURCE" == "x" ]; then echo '$BASH_SOURCE not set'; exit 1; fi
+DEV=$(cd -P "$(dirname "${BASH_SOURCE[0]}" )" && pwd)
+
+set -e # DO NOT USE PIPES unless this is rewritten
+
+. "$DEV/includes/php.sh"
+
+if [ "x$PHP" != "x" -a -x "$PHP" ]; then
+ echo "PHP is already installed"
+ exit 0
+fi
+
+VER=5.6.32
+TAR="php-$VER.tar.gz"
+PHPURL="https://secure.php.net/get/$TAR/from/this/mirror"
+
+cd "$DEV"
+
+echo "Preparing to download and install a local copy of PHP $VER, note that this can take some time to do."
+echo "If you wish to avoid re-doing this for future dev installations of MediaWiki we suggest installing php in ~/.mediawiki/php"
+echo -n "Install PHP in ~/.mediawiki/php [y/N]: "
+read INSTALLINHOME
+
+case "$INSTALLINHOME" in
+ [Yy] | [Yy][Ee][Ss] )
+ PREFIX="$HOME/.mediawiki/php"
+ ;;
+ *)
+ PREFIX="$DEV/php/"
+ ;;
+esac
+
+# Some debian-like systems bundle wget but not curl, some other systems
+# like os x bundle curl but not wget... use whatever is available
+echo -n "Downloading PHP $VER"
+if command -v wget &>/dev/null; then
+ echo " - using wget"
+ wget -O "$TAR" "$PHPURL"
+elif command -v curl &>/dev/null; then
+ echo " - using curl"
+ curl "$PHPURL" -L -o "$TAR"
+else
+ echo " - aborting"
+ echo "Could not find curl or wget." >&2;
+ exit 1;
+fi
+
+echo "Extracting php $VER"
+tar -xzf "$TAR"
+
+cd "php-$VER/"
+
+echo "Configuring and installing php $VER in $PREFIX"
+./configure --prefix="$PREFIX"
+make
+make install