首页 > 代码库 > 自动安装php7(配置未优化版本)
自动安装php7(配置未优化版本)
#!/bin/bash #by dxd in 2017-6 #only suit for centos/aliyun os, and based on aliyun install script CURR_PATH=$(pwd) DOWNLOAD_LIBMCRYPT_URL=http://download.verymall.cn/libmcrypt-2.5.8.tar.gz DOWNLOAD_PHP7_URL=http://download.verymall.cn/php7.bz2 DOWNLOAD_PHP_INI_URL=http://download.verymall.cn/php7.ini PHP_INSTALL_PATH=/alidata/server/php7 PHP_FPM_PORT=9001 function check_user() { if [ "$(whoami)" != "root" ] then echo "please run as root" exit 1 fi } function update_linux() { yum update && yum upgrade yum groupinstall "Development Tools" yum install gcc gcc-c++ pcre* openssl* gd-devel* zlib-devel pcre-devel libxml2-devel curl-devel } function check_curr_path_auth() { if [ ! -w $CURR_PATH ] then echo "current path has no write auth" exit 1 fi } function is_curr_path_legal() { if [ "$(ls | grep install.sh)" == "" ] then echo "path is illegal" exit 1 fi } function check_gcc() { which gcc > /dev/null 2>&1 if [ "$?" != "0" ] then echo "please install gcc first" exit 1 fi } function check_fpm_port() { if [ -n "$(lsof -i:$PHP_FPM_PORT)" ] then echo "PORT $PHP_FPM_PORT is occupied" exit 1 fi } function check_alidata_path() { if [ ! -d /alidata ] then mkdir /alidata fi if [ ! -d /alidata/server ] then echo "alidata server has not been installed" exit 1 fi mkdir $PHP_INSTALL_PATH } function install_dos2unix() { which dos2unix > /dev/null 2>&1 if [ "$?" != "0" ] then yum install dos2unix fi } function download_and_install_libmcrypt() { if [ -a ./libmcrypt-2.5.8.tar.gz ] && [ -n "$(md5sum ./libmcrypt-2.5.8.tar.gz | grep 0821830d930a86a5c69110837c55b7da)" ] then echo "./libmcrypt-2.5.8.tar.gz exist" else rm -f ./libmcrypt-2.5.8.tar.gz wget $DOWNLOAD_LIBMCRYPT_URL fi tar -zxvf ./libmcrypt-2.5.8.tar.gz cd ./libmcrypt-2.5.8 ./configure make make install cd $CURR_PATH } function update_ld() { if [ -z "$(cat /etc/ld.so.conf | grep /usr/local/lib)" ] then echo "/usr/local/lib" >> /etc/ld.so.conf fi if [ -z "$(cat /etc/ld.so.conf | grep /usr/lib64)" ] then echo "/usr/lib64" >> /etc/ld.so.conf fi ldconfig } function download_php7() { cd $CURR_PATH if [ -a ./php7.bz2 ] && [ -n "$(md5sum ./php7.bz2 | grep fb88987cd0c7fefa527f2170a2617f78)" ] then echo "./php7.bz2 exist" else rm -f ./php7.bz2 wget $DOWNLOAD_PHP7_URL fi #uncompress bz2 file tar -xvf ./php7.bz2 > /dev/null } function install_php7() { cd $CURR_PATH cd ./php-7.1.6 mkdir /usr/lib64/ ln -s /usr/local/lib/libiconv.so.2 /usr/lib64/ ./configure --prefix=$PHP_INSTALL_PATH --exec-prefix=$PHP_INSTALL_PATH --bindir=$PHP_INSTALL_PATH/bin --sbindir=$PHP_INSTALL_PATH/sbin --includedir=$PHP_INSTALL_PATH/include --libdir=$PHP_INSTALL_PATH/lib/php --mandir=$PHP_INSTALL_PATH/php/man --with-config-file-path=$PHP_INSTALL_PATH/etc --with-mcrypt=/usr/include --with-mhash --with-openssl --with-mysqli=shared,mysqlnd --with-pdo-mysql=shared,mysqlnd --with-gd --with-iconv --with-zlib --enable-zip --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-xml --enable-bcmath -enable-shmop --enable-sysvsem --enable-mbregex --enable-mbstring --enable-ftp --enable-gd-native-ttf --enable-pcntl --enable-sockets --with-xmlrpc --enable-soap --without-pear --with-gettext --enable-session --with-curl --with-jpeg-dir --with-freetype-dir --enable-opcache --enable-fpm --without-gdbm --enable-fileinfo # --disable-fileinfo make ZEND_EXTRA_LIBS=‘-liconv‘ make install } function config_php7() { if [ ! -a $PHP_INSTALL_PATH/etc/php-fpm.conf ] then cp $PHP_INSTALL_PATH/etc/php-fpm.conf.default $PHP_INSTALL_PATH/etc/php-fpm.conf fi if [ ! -a $PHP_INSTALL_PATH/etc/php-fpm.d/www.conf ] then cp $PHP_INSTALL_PATH/etc/php-fpm.d/www.conf.default $PHP_INSTALL_PATH/etc/php-fpm.d/www.conf fi if [ -z "$(cat $PHP_INSTALL_PATH/etc/php-fpm.conf | grep 127)" ] then echo "listen = 127.0.0.1:$PHP_FPM_PORT" >> $PHP_INSTALL_PATH/etc/php-fpm.conf echo "listen.backlog = -1" >> $PHP_INSTALL_PATH/etc/php-fpm.conf echo "listen.owner = www" >> $PHP_INSTALL_PATH/etc/php-fpm.conf echo "listen.group = www" >> $PHP_INSTALL_PATH/etc/php-fpm.conf echo "listen.mode = 0666" >> $PHP_INSTALL_PATH/etc/php-fpm.conf echo "user = www" >> $PHP_INSTALL_PATH/etc/php-fpm.conf echo "group = www" >> $PHP_INSTALL_PATH/etc/php-fpm.conf fi if [ ! -a $PHP_INSTALL_PATH/etc/php.ini ] then wget $DOWNLOAD_PHP_INI_URL -O $PHP_INSTALL_PATH/etc/php.ini fi } function start_php_fpm() { $PHP_INSTALL_PATH/sbin/php-fpm } check_user update_linux is_curr_path_legal check_curr_path_auth check_gcc check_fpm_port check_alidata_path install_dos2unix download_and_install_libmcrypt update_ld download_php7 install_php7 config_php7 start_php_fpm echo "php7 install successfully" exit 0
自动安装php7(配置未优化版本)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。