前言:本教程安装的PHP版本php-5.6.30(官方最后更新日期2017-01-19),教程编写日期2017-07-02。本教程中的下载地址是在写教程的时候从官方复制的,时间过长可能会有变化。

安装PHP的时候依赖好几个库 gd zlib zlib-devel openssl openssl-devel libxml2 libxml2-devel libjpeg libjpeg-devel libpnglibpng-devel,注意这些库你会发现好多库都对应的devel这是因为不带devel的是二进制文件,带devel的里面有头文件、格式之类的。如有时候你安装一些软件的时候提示你缺少openssl 当你yum安装上的时候,还是提示你缺少openssl ,这个时候你不要惊慌,习惯性的吧openssl-devel也装上往往就能解决了

1.安装依赖库。代码:yum install gd zlib zlib-devel openssl openssl-devel libxml2 libxml2-devel libjpeg libjpeg-devel libpng libpng-devel直接回车一路y确认就行了

2.安装PHP从管网上下载地址http://cn2.php.net/get/php-5.6.30.tar.gz/from/this/mirror(如果没有找到中国的地址请刷新一下页面,有时候加载太慢没有出来,楼主就到过).下载到路径/usr/local/src

3.改名字文件名mirror 改成 php-5.6.30。代码:mv mirror php-5.6.30

4.解压,多出来一个php-5.6.30 目录,cd php-5.6.30

5.配置PHP,代码如下,当你想换行的时候千万不要直接回车,要打一个反斜线\ ,注意反斜杠\后面前面不要有空格

./configure --prefix=/usr/local/php5.6 \
--with-gd \
--enable-gd-native-ttf \
--enable-mysqlnd \
--with-mysql=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-openssl \
--enable-mbstring \
--enable-fpm

6.编译和安装。代码: make && make install 这个需要的时间长,请耐心等待.(注意中间有两个&符号,我第二次装的时候打了一个,然后报错libtool: link: `ext/opcache/zend_accelerator_debug.lo' is not a valid libtoo.....,然后一直安装不上,这个应该是破坏了你解压PHP中的文件(参考网址:http://blog.csdn.net/u012599988/article/details/44942223),然后我就删掉了重新解压了一下,然后重新配置PHP,编译和安装, 这个过程比较长.)

7.安装完成,提示如下.

Wrote PEAR system config file at: /usr/local/php5.6/etc/pear.conf
You may want to add: /usr/local/php5.6/lib/php to your php.ini include_path(注意这句话的意思是你可能需要在/usr/local/php5.6/lib/目录下添加php.ini文件)
/usr/local/src/php-5.6.30/build/shtool install -c ext/phar/phar.phar /usr/local/php5.6/bin
ln -s -f phar.phar /usr/local/php5.6/bin/phar
Installing PDO headers: /usr/local/php5.6/include/php/ext/pdo/

8.切换目录cd /usr/local/php5.6启动PHP。代码: ./sbin/php-fpm 这个时候出错了

第一行:ERROR: failed to open configuration file '/usr/local/php5.6/etc/php-fpm.conf': No such file or directory (2)

第二行: ERROR: failed to load configuration file '/usr/local/php5.6/etc/php-fpm.conf'

第三行:ERROR: ERROR: FPM initialization failed

9. 这个错误的意思是找不到在这个路径找不到配置文件/usr/local/php5.6.3--with-gd/etc/php-fpm.conf,这个时候你ls etc下面,发现有一个文件php-fpm.conf.default.这个是PHP自带的配置文件的例子,你直接复制一下改成错误提示的那个文件名字就行了.代码:cp etc/php-fpm.conf.default etc/php-fpm.conf

10.启动PHP。代码:./sbin/php-fpm 恭喜安装启动PHP成功了。

11.整合PHP和Nginx服务,打开/usr/local/nginx/conf/nginx.conf,在65-71之间有这么几句代码(显示行号vim命令模式set nu),一下代码加粗部分是需要改的,$DOCUMENT_ROOT就是代表服务的根目录.$fastcgi_script_name变量代表执行文件(例:a.php)

65 location ~ \.php$ {
66 root html;
67 fastcgi_pass 127.0.0.1:9000;
68 fastcgi_index index.php;
69 fastcgi_param SCRIPT_FILENAME $DOCUMENT_ROOT$fastcgi_script_name;
70 include fastcgi_params;
71 }

12.在/usr/local/nginx/html下面创建文件vim a.php,内容为<?php phpinfo(); ?> ,打开浏览器[http://你的ip/a.php],这个时候看第六行Configuration File (php.ini) Path对应的值是/usr/local/php5.6/lib ,紧挨着一下行Loaded Configuration File对应的值(none)。这说明PHP没有在咱们/usr/local/php5.6/lib目录下找到我们的PHP配置文件。不用怕我们的解压出来的文件里面就有,在/usr/local/src/php-5.6.30这个目录下面有两个php.ini-development和php.ini-production。php.ini-development适用于开发,错误会尽量多报。所以我们用这个。代码:cp /usr/local/src/php-5.6.30/php.ini-development /usr/local/php5.6/lib/php.ini

13.最后杀掉PHP重启一下,pkill -9 php,开启./sbin/php-fpm

14.打开浏览器[http://你的ip/a.php],大功告成!~!~!~

Linux配置LNMP环境(二)配置PHP的更多相关文章

  1. Linux配置LNMP环境(一)配置Nginx

    注意:配置版本nginx-1.12.0,使用虚拟机安装linux.教程中的下载地址可能有变化.注意(在您看本教程之前首先需要对linux的基本操作熟悉) 1.  先cd到/usr/local/src ...

  2. Linux配置LNMP环境(三)配置MySQL

    1.执行代码:cd /usr/local/rsc下载MySQL,我是从搜狐镜像上下载的:http://mirrors.sohu.com/mysql/MySQL-5.5/,我下载的是64位(注意)的,下 ...

  3. 新手配置LNMP环境教程

    回顾一下这几天自己配置LNMP环境踩得坑,希望帮助更多人 前期准备:VMtool.Linux.Nginx.Mysql.PHP.cmake 版本如下:Centos6.nginx1.6.0.mysql5. ...

  4. linux下Java环境的配置

    linux下Java环境的配置 现在用linux的朋友越来越多了,前几天就有两个朋友问我linux下怎么配置java环境,我想还有很多朋友想了解学习这方面的东西,就写一个完全一点的linux java ...

  5. Linux配置mysql (centos配置java环境 mysql配置篇 总结四)

    ♣安装的几种方法和比较 ♣配置yum源 ♣安装mysql ♣启动mysql ♣修改密码 ♣导入.sql文件 ♣缓存设置 ♣允许远程登录(navicat) ♣配置编码为utf8  1.关于Linux系统 ...

  6. Linux配置tomcat (centos配置java环境 tomcat配置篇 总结三)

    ♣下载安装tomcat7 ♣设置启动和关闭 ♣设置用户名和密码 ♣发布java web项目 声明:这篇教程是建立在前两篇教程的基础上的,所以,还没安装工具和jdk,可以先看这个系列的前面两篇(去到文末 ...

  7. LNMP笔记:阿里云32位 CentOS 5.4 配置 LNMP环境

    最近比较郁闷的是 WordPress大学 服务器故障,由于诸多原因没及时处理,导致10多天无法访问.倡萌也是刚接触服务器环境配置,维护的确力不从心,没办法排查出错误根源,所以只好重置系统盘,重新配置L ...

  8. 8.LNMP环境的配置

    LNMP环境的配置 参照文档:https://oneinstack.com/install/ 安装文件位置:/data/soft: ```yum -y install wget screen pyth ...

  9. linux下jdk环境变量配置深度分析----解决环境变量不生效的问题

    1.linux下jdk环境变量配置 是否需要配置环境变量,主要看java -version 显示的版本是否为你期望的版本 1.1 不需要配置环境变量的情况 使用java -version查看,版本显示 ...

随机推荐

  1. Swift和Javascript的神奇魔法

    Swift和Javascript的神奇魔法 记录Swift和Javascript如何进行交互 前言 今天在网上看到了一篇介绍Swift和Javascript交互的文章,感觉作者写的很好,因此把作者文章 ...

  2. vue-router 中router-view不能渲染

    最近在做一个vue的项目,其中使用了vue2.0,vue-router2.0.在使用vue-router的时候跳了一个很大的坑,router-view不能渲染,花费了好多时间终于发现了原因. 项目目录 ...

  3. 关于SESSION失效和关闭浏览器问题

    关闭浏览器和session失效没有任何关系, session本身有一个存活时间,在tomcat中默认的是30分钟, 这也就是楼上说的不是马上失效   但和浏览器不要划等号 因为即使你浏览器一直开着,如 ...

  4. QT修改UI和源码后,程序页面还是原来页面的解决方法

    发生原因: 移植了一个Qt程序在修改完QT的cpp源码和UI界面布局等内容后,重启点击QT Creator左下角的运行(Ctrl+R)编译程序并启动后,程序界面及修改内容并没有改变. 解决方式: 找到 ...

  5. 刨根究底字符编码之四——EASCII及ISO 8859字符编码方案

    EASCII及ISO 8859字符编码方案   1. 计算机出现之后,从美国发展到欧洲,由于欧洲很多国家中所用到的字符中,除了基本的美国也用的那128个ASCII字符之外,还有很多衍生的拉丁字母等字符 ...

  6. 开涛spring3(6.7) - AOP 之 6.7 通知顺序

    如果我们有多个通知想要在同一连接点执行,那执行顺序如何确定呢?Spring AOP使用AspectJ的优先级规则来确定通知执行顺序.总共有两种情况:同一切面中通知执行顺序.不同切面中的通知执行顺序. ...

  7. 开涛spring3(5.1&5.2) - Spring表达式语言 之 5.1 概述 5.2 SpEL基础

    5.1  概述 5.1.1  概述 Spring表达式语言全称为“Spring Expression Language”,缩写为“SpEL”,类似于Struts2x中使用的OGNL表达式语言,能在运行 ...

  8. SPFA求单源最短路径

    序 求最短路径的算法有很多,各有优劣. 比如Dijkstra(及其堆(STL-priority_queue)优化),但是无法处理负环的情况: 比如O(n^3)的Floyd算法:比如Bellman-Fo ...

  9. 基于Spring Boot的图片上传

    package com.clou.inteface.domain.web.user; import java.io.File; import java.io.IOException; import j ...

  10. JS中Node节点总结

    Node的三个基本属性: 1.nodeType:表明节点类型,1是元素节点,3是文本节点. 2.nodeName:  表明节点名称,元素节点为标签名,文本节点为#text. 3.nodeValue:表 ...