一、安装PHP

1.安装依赖

yum install libmcrypt-devel mhash-devel libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel

源码编译安装,去http://www.sourceforge.net下载Libmcrypt,mhash,mcrypt安装包
libmcrypt(libmcrypt-2.5.8.tar.gz ):
mcrypt(mcrypt-2.6.8.tar.gz ):
mhash(mhash-0.9.9.9.tar.gz ):
2 .安装Libmcrypt

tar -zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure
make
make install

说明:libmcript默认安装在/usr/local

3.安装mhash

tar -zxvf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9
./configure
make
make install

4.安装mcrypt

tar -zxvf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8
./configure
makemake install

5.下载、安装PHP

wget http://cn2.php.net/distributions/php-5.4.7.tar.gz
tar zvxf php-5.4.7.tar.gz
cd php-5.4.7
./configure --prefix=/usr/local/php --enable-fpm --with-mcrypt --enable-mbstring --disable-pdo --with-curl --disable-debug --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --with-mhash --enable-zip --with-pcre-regex --with-mysql --with-mysqli --with-gd --with-jpeg-dir --enable-opcache=nomake all install 

以上就完成了php-fpm的安装。

下面是对php-fpm运行用户进行设置

cd /usr/local/php
cp etc/php-fpm.conf.default etc/php-fpm.conf
vi etc/php-fpm.conf

修改
user = www-data
group = www-data

如果www-data用户不存在,那么先添加www-data用户
groupadd www-data
useradd -g www-data www-data

二、编译安装nginx

然后按照http://www.nginx.cn/install 安装nginx

三、修改nginx配置文件以支持php-fpm

nginx安装完成后,修改nginx配置文件为,nginx.conf

其中server段增加如下配置,注意 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;内容配置,否则会出现No input file specified.错误

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ .php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

四、创建测试php文件

创建php文件

在/usr/local/nginx/html下创建index.php文件,输入如下内容
<?php
echo phpinfo();
?>
五、启动服务

启动php-fpm和nginx

/usr/local/nginx/sbin/nginx
/usr/local/php/sbin/php-fpm

关闭防火墙
service iptables stop //临时关闭

php-fpm关闭重启见文章结尾

六、浏览器访问

访问http://你的服务器ip/index.php 就可以见到php信息了。

本机浏览器访问不到Linux虚拟机中的nginx开启页面
1、使用该执行打开端口文件
vi /etc/sysconfig/iptables

2、将你要打开的端口设置上就行了,这里是打开80端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

3、输入:wq保存退出
4、service iptables restart,使设置生效

php-fpm 关闭:

kill -INT cat /usr/local/php/var/run/php-fpm.pid

php-fpm 重启:

kill -USR2 cat /usr/local/php/var/run/php-fpm.pid

查看php-fpm进程数:

ps aux | grep -c php-fpm

8.命令行下执行php,提示找不到命令

-bash: /usr/bin/php: No such file or directory

vi /etc/profile

在文件底部增加一行配置
export PATH=/usr/local/php/bin:$PATH

保存退出

source /etc/profile

一些报错
configure: error: off_t undefined; check your library configuration
我也遇到这个问题了,报的前一个错是
configure: error: Don’t know how to define struct flock on this system, set –enable-opcache=no
我把–enable-opcache=no加上,结果报了这个错;
最后,

[root@localhost php-7.1.7]#vim /etc/ld.so.conf.d/local.conf
# 添加一行
/usr/local/lib
[root@localhost php-7.1.7]# ldconfig -v
而且把–enable-opcache=no去掉也不报错了。

ERROR: No pool defined. at least one pool section must be specified in config file
root@ubuntu:/opt/php7# /opt/php7/sbin/php-fpm
[22-Sep-2015 14:29:00] WARNING: Nothing matches the include pattern '/opt/php7/etc/php-fpm.d/*.conf' from /opt/php7/etc/php-fpm.conf at line 125.
[22-Sep-2015 14:29:00] ERROR: No pool defined. at least one pool section must be specified in config file
[22-Sep-2015 14:29:00] ERROR: failed to post process the configuration
[22-Sep-2015 14:29:00] ERROR: FPM initialization failed
大概意思就是说找不到 opt/php7/etc/php-fpm.d/目录下的配置文件。 进入里面的目录,会有一个www.conf.default文件。执行下面命名复制一份

root@ubuntu:/opt/php7/etc/php-fpm.d/# cp www.conf
复制好之后,编辑该文件

root@ubuntu:/opt/php7/etc/php-fpm.d/# nano www.conf
定位到里面文件的 user = nobody 和 group = nobody ,调整为 www-data。这一步和5版编译安装一样。最后启动PHP-FPM

root@ubuntu:~# /opt/php7/sbin/php-fpm
root@ubuntu:~#

转载于:https://www.cnblogs.com/summer010/p/10529102.html

Linux上安装php相关推荐

  1. linux上安装mysql,tomcat,jdk

    Linux 上安装 1 安装jdk 检测是否安装了jdk 运行 java –version 若有 需要将其卸载 a)         查看安装哪些jdk rmp –qa |grep java b)   ...

  2. linux下安装sbt_如何在Linux上安装SBT

    linux下安装sbt 介绍 (Introduction) Hi! I am Sanjula, and in this guide I hope to teach you how to install ...

  3. 在Linux上安装QT4

    比起在Windows上安装QT,在Linux上安装QT要容易多了,这都得意于Linux系统的autoconf和automake工具. 1. 将QT的源码包放至到一个目录下,笔者的目录是:/home/k ...

  4. 明明安装了模块,还是出现 错误 ImportError: No module named ‘pandas‘ 原因LINUX上安装了多个python环境,将脚本中python 改为python3问题解

    明明安装了模块,还是出现 错误 ImportError: No module named 'pandas'  原因LINUX上安装了多个python环境,将脚本中python 改为python3问题解 ...

  5. linux上安装redis

    Redis Redis在linux上安装 将redis-3.0.7.tar.gz上传到linux虚拟机上 编译: a)       因为redis是C语言开发,所以需要先编译,在linux上编译需要依 ...

  6. Linux上安装paramiko模块

    Linux上安装paramiko模块 一.paramiko模块作用 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接.由于使用的是pyt ...

  7. 在linux上安装Filezilla文件传输FTP软件

    在linux上安装Filezilla文件传输FTP软件 1 Filezilla安装方法一:使用apt-get安装 2 Filezilla安装方法二:使用filezilla安装包进行安装 1 Filez ...

  8. 如何在 Linux 上安装服务器管理软件 Cockpit

    如何在 Linux 上安装服务器管理软件 Cockpit Cockpit 是一个自由开源的服务器管理软件,它使得我们可以通过它好看的 web 前端界面轻松地管理我们的 GNU/Linux 服务器.Co ...

  9. kali linux 的ssh服务器,如何在 Kali Linux 上安装 SSH 服务

    目的 我们的目的是 Kali Linux 上安装 SSH(安全 shell). 要求 你需要有特权访问你的 Kali Linux 安装或者 Live 系统. 困难程度 很容易! 惯例 #– 给定命令需 ...

  10. 怎么在linux上装java,如何在Ubuntu Linux上安装Java

    介绍 如何在Ubuntu Linux上安装Java?尽管对于一个经验丰富的Linux系统管理员来说,这个主题是一个很容易理解的话题,但是对于初学者而言,在我需要什么版本的Java,如何安装它或如何在多 ...

最新文章

  1. opencv imwrite()函数中 ImwriteFlags 的 cv.IMWRITE_JPEG_RST_INTERVAL(JPEG restart interval 重启间隔)是什么?
  2. JVM调优:常见垃圾回收算法
  3. android播放flv,Android:从url播放flv视频流
  4. Linux编程练习 --进程间通信2--两个管道实现双向通信
  5. 为什么ElasticSearch应用开发者需要了解cluster state
  6. 容器编排技术 -- Kubernetes kubectl create service nodeport 命令详解
  7. 收藏 | TensorRT部署深度学习模型
  8. 晨哥真有料丨聊天就在一起了,真有这么简单吗?
  9. 【Kibana】FATAL Error: [config validation of [elasticsearch].url]: definition for this key is missing
  10. ios应用提交审核出现的问题总结
  11. html5小游戏需求分析,2015年HTML5就业需求走势总结分析
  12. 处理数据类型转换,数制转换、编码转换相关的类
  13. android 执行Shell命令
  14. PHP爬虫最全总结1
  15. 知道今天是星期几java_java如何判断今天是星期几
  16. JZOJ4788. 序列
  17. STM32踩坑1-SWD下载失败
  18. python:实现DES和3DES加解密算法(附完整源码)
  19. 5、判断、循环、数组综合练习案例(迷你DVD)
  20. 什么是java字符串_什么是java字符串

热门文章

  1. 用python实现自动填数生成表格v2.0
  2. Docker selenium自动化 - 使用python操作docker,python运行、启用、停用和查询容器实例演示
  3. C语言实现牛顿迭代法
  4. 模拟电路技术之基础知识(七)
  5. n数码问题,全排列的hash(转载
  6. 【linux回炉 档案权限与目录配置】
  7. 鼠标马赛克图像部分区域
  8. warpAffine函数
  9. 常微分方程数值求解【python】
  10. 两字典(dict)组合(重复键进行加法)一行命令实现Python