linux-Centos7安装php
先安装相关依赖包
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
cp /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-fpm if [ "$1" = "-d" ]; then
shift
EXECUTEDIR=$'/'
shift
else
EXECUTEDIR=$BASEDIR'/'
fi if [ ! -d "$EXECUTEDIR" ]; then
echo "ERROR: $EXECUTEDIR is not a dir"
exit
fi if [ ! -d "$EXECUTEDIR"/conf ]; then
echo "ERROR: could not find $EXECUTEDIR/conf/"
exit
fi if [ ! -d "$EXECUTEDIR"/logs ]; then
mkdir "$EXECUTEDIR"/logs
fi cd "$EXECUTEDIR" PID_FILE="$EXECUTEDIR"/logs/php-fpm.pid check_pid() {
RETVAL=
if [ -f $PID_FILE ]; then
PID=`cat $PID_FILE`
ls /proc/$PID &> /dev/null
if [ $? -eq ]; then
RETVAL=
fi
fi
} check_running() {
PID=
RETVAL=
check_pid
if [ $RETVAL -eq ]; 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_pid
if [ $RETVAL -eq ]; then
echo "php-fpm is running as $PID ..."
else
echo "php-fpm is not running"
fi
} reload() {
check_pid
if [ $RETVAL -eq ]; then
kill -SIGUSR2 `cat $PID_FILE`
else
echo "php-fpm is not running"
fi
} reopen() {
check_pid
if [ $RETVAL -eq ]; then
kill -SIGUSR1 `cat $PID_FILE`
else
echo "php-fpm is not running"
fi
} RETVAL=
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
status
;;
reload)
reload
;;
reopen)
reopen
;;
*)
echo "Usage: $0 {start|stop|restart|status|reload|reopen}"
RETVAL=
esac
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这个用户来启动;
linux-Centos7安装php的更多相关文章
- Linux CentOS7 安装 Qt 5.9.2
Linux CentOS7 安装 Qt 5.9.2 参考链接 http://doc.qt.io/qt-5/linux.html sudo yum groupinstall "C Develo ...
- LINUX CentOS7安装字体库
LINUX CentOS7安装字体库 2017年12月26日 17:06:07 q260996583 阅读数:4866更多 个人分类: linux JAVA画图时常用到Font 类对象 这样的对象 ...
- Linux centos7安装Mongodb
Linux centos7安装Mongodb-4.0 1.下载 官方下载地址:https://www.mongodb.com/download-center/community 2.上传解压 1)rz ...
- linux(centos7) 安装nginx
linux(centos7) 安装nginx 1.14(stable) 版本 Nginx配置文件常见结构的从外到内依次是「http」「server」「location」等等,缺省的继承关系是从外到内, ...
- linux centos7 安装常用软件java,node,mysql,Seafile
linux centos7 安装常用软件java,node,mysql,Seafile 安装压缩解压缩软件 yum install -y unzip zip 安装git yum install -y ...
- 【PHP7.1】linux centos7 安装phpredis扩展
背景: linux centos7.4 php7.1 一 . 安装redis 1 进入usr/local 目录 cd /usr/local 2 下载redis 并解压到当前目录 wget h ...
- linux centos7 安装mysql-5.7.17教程(图解)
1系统约定安装文件下载目录:/data/softwareMysql目录安装位置:/usr/local/mysql数据库保存位置:/data/mysql日志保存位置:/data/log/mysql 2下 ...
- window和linux(centos7)安装mysql5.7
window mysql 安装步骤 社区版本下载地址: https://dev.mysql.com/downloads/file/?id=474802 下载完成后,得到mysql-installer- ...
- linux centos7 安装Phabircator
Phabricator 是facebook开发的一套代码审核工具,基于PHP和Mysql开发. 准备工作: 系统:Linux CentOS7 环境: Apache(或nginx,或lighttpd): ...
- Linux(CentOS7)安装Tomcat (Tomcat+JDK)
安装Tomcat首先要安装jdk,jdk和tomcat安装可以使用的方法:将jdk.tomcat上传到Linux,然后解压后使用,另一种方法是直接使用在线安装:yum 第一步:安装jdk,在Linux ...
随机推荐
- class-dump安装与使用
简介 class-dump is a command-line utility for examining the Objective-C segment of Mach-O files. It ge ...
- 持续(集成-->交付-->部署)
软件的开发工作的大致流程 编码 -> 构建 -> 集成 -> 测试 -> 交付 -> 部署 由上图可知「持续集成(Continuous Integration)」.「持续 ...
- 2017浙江省赛 C - What Kind of Friends Are You? ZOJ - 3960
地址:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3960 题目: Japari Park is a large zoo ...
- iOS 使用markdown 实现编辑和预览文本
注意要点: 1.在iOS 可以依赖UIWebview 来实现 2.丰富的UI样式依赖 html 的样式, js 调用插入markdown内容呈现出来 3.实现markdown编辑快捷键:参考githu ...
- javascript中常用函数汇总
js中函数很多,在实际项目开发中,函数的应用可以很大程度上简化我们的代码,所以在此记下开发中js中常用的函数,增强记忆. 1.isNaN(X):函数用于检查其参数是否是非数字值. 如果 x 是特殊的非 ...
- MySQL的索引是什么?怎么优化?
索引类似大学图书馆建书目索引,可以提高数据检索的效率,降低数据库的IO成本.MySQL在300万条记录左右性能开始逐渐下降,虽然官方文档说500~800w记录,所以大数据量建立索引是非常有必要的.My ...
- hello java !
我对于计算机性编程性质的课程一直没有很好的悟性,但功夫不服有心,最近自己学习视频课程,随时关注娄老师的博客,慢慢的对于java编程有了新的认识,也用eclipse软件进行了简单java的编译. 了解的 ...
- 学Git,用Git ②
之前介绍了git的最核心功能游戏存档式的本地版本管理.这会我们介绍git剩下的两个核心功能:分支和远程仓库. 1.Git游戏存档进化版--Git分支 git分支的思想很有意思,git允许我们可以随时从 ...
- java并发容器之 SynchronousQueue [转]
SynchronousQueue 这个队列实现了 BlockingQueue接口 该队列的特点 1.容量为0,无论何时 size方法总是返回0 2. put操作阻塞,jquery插件库 直到另外一个 ...
- composer安装教程 windows系统 | Linux系统 | mac系统
如何安装 Composer 下载 Composer 安装前请务必确保已经正确安装了 PHP.打开命令行窗口并执行 php -v 查看是否正确输出版本号. 打开命令行并依次执行下列命令安装最新版本的 C ...