自动安装php7(配置未优化版本)
Posted 咚..咚
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动安装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(配置未优化版本)的主要内容,如果未能解决你的问题,请参考以下文章
Nextcloud 安装与优化 centos7 php7 nginx MariaDB
linux 安装多个PHP版本(php5.6 php7.1 php7.2 php7.3 php7.4 php8.0)nginx配置php多版本