linux服务器安装php7_CentOS 7 下 PHP 7.1.12 安装配置
Linux系統:CentOS 7
記錄在CentOS 7 下 PHP 7.1.12 安裝配置的過程。
先安裝相關依賴包
yum install
pcre pcre-devel zlib zlib-devel openssl openssl-devel gd gd-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel?lua-devel
autoconf libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel libidn libidn-devel libtool libtool-libs libevent-devel libevent openldap openldap-devel nss_ldap openldap-clients openldap-servers libtool-ltdl libtool-ltdl-devel bison libgcrypt php-mcrypt libmcrypt libmcrypt-devel cmake?gcc gcc-c++ ncurses-devel perl-Data-Dumper libicu-devel libquadmath-devel python-devel bzip2-devel
我也不做區分了;這些是搭建lnpm環境需要安裝的相關依賴包,就全安裝完了。
下載php,我是到官網去下載的http://www.php.net/downloads.php
下載一個最新穩定版的tar.gz格式
之后用xftp工具遠程鏈接linux,把下載包放到linux的/usr/local/目錄下
1解壓:
[root@localhost
[root@localhost]# tar -zxvf?php-7.1.12.tar.gz
2編譯:
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mcrypt=/usr/include --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql --with-gd --with-iconv --with-zlib --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-curl --with-jpeg-dir --with-freetype-dir --enable-opcache --with-png-dir --with-libxml-dir --with-mcrypt --with-mhash
編譯中有報錯error的內容,看報錯內容相應解決,有些報錯是沒找到依賴包需查看依賴包是否全部安裝好了;還有一些沒安裝mysql的要先安裝mysql
解決php編譯報錯configure: error: mcrypt.h not found. Please reinstall libmcrypt.
yum install -y epel-release
yum install -y libmcrypt-devel
兩個不能一起安裝,因為CentOs6默認的yum源沒有 libmcrypt-devel這個包,只能借助epel的yum源,所以先安裝epel,再安裝
libmcrypt
全部編譯完成之后執行:
make && make install
3.配置啟動:
make安裝完成之后會出現目錄/usr/local/php;
執行下面這句話
[root@localhost local]# ll /usr/local/php/etc/
可以看到目錄下的配置文件,一般我都會把配置文件轉移到非root用戶的其它用戶的家目錄下面
比如我創建一個adv用戶,在adv用戶下面創建一個目錄保存php 的配置文件;
[root@localhost home]# cd /home/adv/
[root@localhost adv]# mkdir phpfpm
[root@localhost adv]# cd phpfpm/
[root@localhost phpfpm]# mkdir conf
此時我們已經有了這樣的目錄/home/adv/phpfpm/conf
接下來把配置文件cp到/home/adv/phpfpm/conf目錄下
1.先把php.ini文件cp到/home/adv/phpfpm/conf目錄下
php.ini文件在你剛剛解壓的php-7.1.12文件里
[root@localhost /]# cp /usr/local/php-7.1.12/php.ini-production /home/adv/phpfpm/conf/php.ini
[root@localhost /]# cp /usr/local/php/etc/php-fpm.conf.default /home/adv/phpfpm/conf/php-fpm.conf
p /usr/local/php/etc/php-fpm.d/www.conf.default /home/adv/phpfpm/conf/backend.conf
現在我們可以看到/home/adv/phpfpm/conf/目錄下有三個文件
2修改配置文件:
修改php-fpm.conf文件
[root@localhost /]# vim?php-fpm.conf
還有其它的配置需要修改根據個人需要自行修改
3.編輯啟動php文件; 因為我們把配置文件轉移到了adv用戶下,所以需要指定配置文件來啟動php
啟動腳本:[root@localhost phpfpm]# vim /home/adv/phpfpm/phpfpm.sh
#!/bin/bash
CURRDIR=`dirname "$0"`
BASEDIR=`cd "$CURRDIR"; pwd`
NAME="php-fpm"CMD=/usr/local/php/sbin/php-fpmif [ "$1" = "-d"]; then
shift
EXECUTEDIR=$1'/'shiftelseEXECUTEDIR=$BASEDIR'/'fiif [ ! -d "$EXECUTEDIR"]; then
echo"ERROR: $EXECUTEDIR is not a dir"exit
fiif [ ! -d "$EXECUTEDIR"/conf ]; then
echo"ERROR: could not find $EXECUTEDIR/conf/"exit
fiif [ ! -d "$EXECUTEDIR"/logs ]; then
mkdir"$EXECUTEDIR"/logs
fi
cd"$EXECUTEDIR"PID_FILE="$EXECUTEDIR"/logs/php-fpm.pid
check_pid() {
RETVAL=1
if [ -f $PID_FILE ]; then
PID=`cat $PID_FILE`
ls/proc/$PID &> /dev/null
if [ $? -eq 0]; then
RETVAL=0fi
fi
}
check_running() {
PID=0RETVAL=0check_pidif [ $RETVAL -eq 0]; then
echo"$CMD is running as $PID, we'll do nothing"exit
fi
}
start() {
check_running"$CMD" -y "$EXECUTEDIR/conf/php-fpm.conf" -c "$EXECUTEDIR/conf/php.ini" -p `pwd`
}
stop() {
kill-SIGQUIT `cat $PID_FILE`
}
status() {
check_pidif [ $RETVAL -eq 0]; then
echo"php-fpm is running as $PID ..."
elseecho"php-fpm is not running"fi
}
reload() {
check_pidif [ $RETVAL -eq 0]; then
kill-SIGUSR2 `cat $PID_FILE`elseecho"php-fpm is not running"fi
}
reopen() {
check_pidif [ $RETVAL -eq 0]; then
kill-SIGUSR1 `cat $PID_FILE`elseecho"php-fpm is not running"fi
}
RETVAL=0
case "$1" instart)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
status
;;
reload)
reload
;;
reopen)
reopen
;;*)
echo"Usage: $0 {start|stop|restart|status|reload|reopen}"RETVAL=1esac
exit $RETVAL
編寫好之后就可以用,啟動測試
[root@localhost phpfpm]# bash phpfpm.sh
Usage: phpfpm.sh {start|stop|restart|status|reload|reopen}
[root@localhost phpfpm]#
可以看到?phpfpm.sh {start|stop|restart|status|reload|reopen} 啟動有這些可執行
啟動:
[root@localhost phpfpm]# bash phpfpm.sh start
執行以下命令查看是否啟動成功,是否有進程
root@localhost phpfpm]# ps -ef | grep php
可以看到紅色框框標明的說明啟動成功了;
既然配置放到了adv用戶下,啟動還是建議用adv這個用戶來啟動;
CentOS 7.2下編譯安裝PHP7.0.10+MySQL5.7.14+Nginx1.10.1? http://www.linuxidc.com/Linux/2016-09/134804.htm
CentOS 7 下使用 MySQL 5.7 + PHP 7 + Apache 部署 Nextcloud? http://www.linuxidc.com/Linux/2017-12/149945.htm
PHP 的詳細介紹:請點這里
PHP 的下載地址:請點這里
總結
以上是生活随笔為你收集整理的linux服务器安装php7_CentOS 7 下 PHP 7.1.12 安装配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ul 原点显示_CSS+HTML ul
- 下一篇: linux windows变色龙,体验开