#!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH # Check if user is root if [ $(id -u) != "0" ]; then echo "Error: You must be root to run this script, please use root to install lnmp" exit 1 fi clear echo "=========================================================================" echo "Fix PHP 5.2.* Hash Table Collision Bug for LNMP, Written by Licess" echo "=========================================================================" echo "LNMP is tool to auto-compile & install Nginx+MySQL+PHP on Linux " echo "" echo "For more information please visit http://www.lnmp.org/" echo "=========================================================================" cur_dir=$(pwd) if [ "$1" != "--help" ]; then ln -s /usr/local/php/bin/php /usr/bin/php php_version=`php -r 'echo PHP_VERSION;'` #echo $php_version echo "Current PHP Version:$php_version" get_char() { SAVEDSTTY=`stty -g` stty -echo stty cbreak dd if=/dev/tty bs=1 count=1 2> /dev/null stty -raw stty echo stty $SAVEDSTTY } echo "" echo "Press any key to start...or Press Ctrl+c to cancel" char=`get_char` if [ -s php-5.2.17.tar.gz ]; then echo "php-5.2.17.tar.gz [found]" else echo "Error: php-5.2.17.tar.gz not found!!!download now......" wget -c http://soft.vpser.net/web/php/php-5.2.17.tar.gz if [ $? -eq 0 ]; then echo "Download php-5.2.17.tar.gz successfully!" else echo "PHP Downlaod file was not found!!!" sleep 5 exit 1 fi fi if [ -s php-5.2.17-fpm-0.5.14.diff.gz ]; then echo "php-5.2.17-fpm-0.5.14.diff.gz [found]" else echo "Error: php-5.2.17-fpm-0.5.14.diff.gz not found!!!download now......" wget -c http://php-fpm.org/downloads/php-5.2.17-fpm-0.5.14.diff.gz fi if [ -s autoconf-2.13.tar.gz ]; then echo "autoconf-2.13.tar.gz [found]" else echo "Error: autoconf-2.13.tar.gz not found!!!download now......" wget -c http://ftp.gnu.org/gnu/autoconf/autoconf-2.13.tar.gz fi tar zxvf autoconf-2.13.tar.gz cd autoconf-2.13/ ./configure --prefix=/usr/local/autoconf-2.13 make && make install cd ../ export PHP_AUTOCONF=/usr/local/autoconf-2.13/bin/autoconf export PHP_AUTOHEADER=/usr/local/autoconf-2.13/bin/autoheader tar zxvf php-5.2.17.tar.gz gzip -cd php-5.2.17-fpm-0.5.14.diff.gz | patch -d php-5.2.17 -p1 cd php-5.2.17/ wget -c http://soft.vpser.net/web/php/bug/php-5.2.17-max-input-vars.patch patch -p1 < php-5.2.17-max-input-vars.patch ./buildconf --force ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-discard-path --enable-magic-quotes --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --enable-mbstring --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --with-mime-magic make ZEND_EXTRA_LIBS='-liconv' make install /root/lnmp restart fi