把php安装包上传到linux的/usr/local/src

1.解压

cd /usr/local/src

tar zxvf php-5.6.9.tar.gz

cd php-5.6.9

  

新增php7.2.0安装手记

下载地址

链接:https://pan.baidu.com/s/1JpDpVEylcup3ZYB32aEoGQ
提取码:1edc

先安装如下依赖

$ yum install -y gcc gcc-c++  make zlib zlib-devel pcre pcre-devel  libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers

解压php-7.2.0.tar.gz  然后进入目录,编译。命令如下:

$ tar -zxvf php-7.2.0.tar.gz

$ cd php-7.2.0

  

$ ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php --enable-mbstring --with-openssl --enable-ftp --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-pear --enable-sockets --with-freetype-dir=/usr --with-zlib --with-libxml-dir=/usr --with-xmlrpc --enable-zip --enable-fpm --enable-xml --enable-sockets --with-gd --with-zlib --with-iconv --enable-zip --with-freetype-dir=/usr/lib/ --enable-soap --enable-pcntl --enable-cli --with-curl

【配置PHP】

在之前编译的源码包中,找到 php.ini-production,复制到/usr/local/php下,并改名为php.ini:

$ cp php.ini-production /usr/local/php/php.ini

  

[可选项] 设置让PHP错误信息打印在页面上

$ vim /usr/local/php/php.ini

  

复制启动脚本:

$ cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

$ chmod +x /etc/init.d/php-fpm

  

修改php-fpm配置文件:

$ cd /usr/local/php/etc

$ cp php-fpm.conf.default php-fpm.conf

$ vim php-fpm.conf

  

① 去掉 pid = run/php-fpm.pid 前面的分号
$ cd php-fpm.d

$ cp www.conf.default www.conf

$ vim www.conf

  

② 修改user和group的用户为当前用户(也可以不改,默认会添加nobody这个用户和用户组)

【启动PHP】

$ /etc/init.d/php-fpm start        #php-fpm启动命令

$ /etc/init.d/php-fpm stop         #php-fpm停止命令

$ /etc/init.d/php-fpm restart        #php-fpm重启命令

$ ps -ef | grep php 或者 ps -A | grep -i php  #查看是否已经成功启动PHP

  

参考:https://www.cnblogs.com/rxbook/p/9106513.html

2.编译安装

./configure --prefix=/usr/local/php  --enable-fpm --with-mcrypt \

--enable-mbstring --enable-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 --with-freetype-dir --enable-calendar

  

错误

checking for cc... no
checking for gcc... no 源码编译,提示缺少gcc cc cl.exe 解决方案:
yum install -y gcc glibc

  

错误1

configure: error: xml2-config not found. Please check your libxml2 installation.
配置:错误:xml2-config不见了。请检查你的libxml2安装。
解决:
yum install libxml2 libxml2-devel -y

  

错误2

configure: error: Cannot find OpenSSL’s <evp.h>
配置:错误:找不到OpenSSL的< evp.h >
解决:
yum install openssl openssl-devel -y

  

错误

error: cURL version 7.10.5 or later is required to compile php with cURL support
原因:php7.0.27以上 curl需要单独安装
解决:yum -y install curl-devel

  

错误3

Configure: error: Please reinstall the BZip2 distribution
配置:错误:请重新安装BZip2分布
解决:
yum install bzip2 bzip2-devel -y

  

错误4

configure: error: jpeglib.h not found.
配置:错误:jpeglib。没有找到。
解决:
yum install libjpeg libpng freetype libjpeg-devel libpng-devel freetype-devel -y

  

错误5

Configure: error: mcrypt.h not found. Please reinstall libmcrypt.
配置:错误:mcrypt。没有找到。请重新安装libmcrypt。
解决:
安装epel-release源
yum install epel-release -y
yum install libmcrypt-devel –y

  

最后最重要

make
make install

  

3.拷贝PHP主配置文件

 cp php.ini-production /usr/local/etc/php.ini
 

2、为php-fpm提供配置文件

cd /usr/local/php

cp etc/php-fpm.conf.default etc/php-fpm.conf

vim etc/php-fpm.conf

  

修改 /usr/local/php/etc/php-fpm.d/www.conf 文件

user = www-data
group = www-data

  

如果www-data用户不存在,那么先添加www-data用户,命令行:

groupadd www-data

useradd -g www-data www-data

配置文件修改

pm.max_children = 150

pm.start_servers = 8

pm.min_spare_servers = 5

pm.max_spare_servers = 10

pid = /usr/local/php/var/run/php-fpm.pid

  

当nginx、php-fpm、Permission denied:https://blog.csdn.net/dfq737211338/article/details/89176104

配置php可执行

方法一:

打开用户根目录下的:

vi ~/.bash_profile

  

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export PATH alias php=/usr/local/php/bin/php

修改后保存

然后执行

source ~/.bash_profile 

测试一下 php -v

方法二:

设置环境变量 :修改/etc/profile文件使其永久性生效,并对所有系统用户生效,在文件末尾加上如下两行代码

PATH=$PATH:/usr/local/php/bin
export PATH

然后执行生效命令

source /etc/profile

查看PHP版本信息

php -v

3、启动php-fpm

执行

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

停止

pkill php-fpm

使用如下命令来验正(如果此命令输出有中几个php-fpm进程就说明启动成功了):

ps aux | grep php-fpm

3、nginx和php-fpm整合

编辑/usr/local/nginx/nginx.conf

vim /usr/local/nginx/nginx.conf

修改如下:

红框中“#”号去掉

红框中“#”号去掉

添加红框中内容

改成如下

location ~ \.php$ {

            root         html;

            fastcgi_pass 127.0.0.1:9000;

            fastcgi_index index.php;

            include        fastcgi.conf;

}

重新载入nginx的配置文件:

 /usr/loca/nginx/sbin/nginx -s reload

  

4、测试php文件

在/usr/local/nginx/html下创建index.php文件,输入如下内容

<?php

    phpinfo();

?>

  

5、浏览器访问

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

参考:http://www.cnblogs.com/flywind/p/6019631.html (php-fpm)

附:

如果Loaded Configuration File为none,把php.ini复制一份到Configuration File (php.ini) Path的目录下,重启fpm

cp /usr/local/etc/php.ini /usr/local/php/lib

pkill -9 php-fpm

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

设置时区,php.ini

;date.timezone =

改为

date.timezone = Asia/Shanghai

linux下nginx安装php的更多相关文章

  1. VMware Linux 下 Nginx 安装配置 - nginx.conf 配置 [负载两个 Tomcat] (三)

    首先启动Nginx 1. 相关浏览 两个 Tomcat 配置:  VMware Linux 下 Nginx 安装配置 - Tomcat 配置 (二) Nginx 安装配置启动: VMware Linu ...

  2. VMware Linux 下 Nginx 安装配置 - Tomcat 配置 (二)

    准备工作 相关浏览: VMware Linux 下 Nginx 安装配置 (一) 1. 选在 /usr/local/ 下创建 softs 文件夹,通过 ftp 命令 把 apache-tomcat-7 ...

  3. Linux下Nginx安装/启动/重启/停止

    Nginx是高性能的web服务器也是非常好用反向代理服务器,可以实现负载均衡,动静分离等策略,在linux下用的非常多.下面是下载地址   http://nginx.org/en/download.h ...

  4. linux下nginx安装、配置实战

    1什么是Nginx Nginx("enginex")是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器,在高连接并发的情况下Nginx是Apac ...

  5. linux下Nginx 安装配置

    Nginx 安装 一.首先要安装 PCRE PCRE 作用是让 Ngnix 支持 Rewrite 功能. 1.下载 PCRE 安装包,下载地址: http://downloads.sourceforg ...

  6. Linux下Nginx安装

    前提: 1.需要gcc环境:yum install gcc-c++ 2.需要第三方开发包: PCRE.zlib.openssl yum install -y pcre pcre-devel yum i ...

  7. VMware Linux 下 Nginx 安装配置 (一)

    资源准备 1. pcre-8.34.tar.gz: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 2. zlib-1.2.8.tar.g ...

  8. Linux下nginx安装与配置

    部分Linux发布版的默认安装已经集成了nginx,查看方法ls /usr/local,若已有nginx文件夹说明已集成. nginx依赖库pcre与zlib,且pcre依赖于gcc与gcc-c++, ...

  9. linux下Nginx安装Zend Optimizer组件步骤

    注意:Zend Optimizer 在php5.3以上的版本已经集成了,所以php5.3以上的版本没必要安装了.而推出了Zend Guard Loader. http://www.zend.com/e ...

随机推荐

  1. 通过JBoss反序列化(CVE-2017-12149)浅谈Java反序列化漏洞

    前段时间学校学习J2EE,用到了jboss,顺便看了下jboss的反序列化,再浅谈下反序列化漏洞. Java序列化,简而言之就是把java对象转化为字节序列的过程.而反序列话则是再把字节序列恢复为ja ...

  2. ES的关键端口

    ElasticSearch的集群可自发现,只要配置相同的集群名称,默认为组播发现机制,默认情况下: http 端口:9200 需要打开给调用 数据传输端口:9300 用于集群之间交换数据 组播端口(U ...

  3. Nginx user_agent、if指令及全局变量

    Nginx user_agent.if指令及全局变量 1.User_agent User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本.CP ...

  4. 数据结构与算法——优先队列类的C++实现(二叉堆)

    优先队列简单介绍: 操作系统表明上看着是支持多个应用程序同一时候执行.其实是每一个时刻仅仅能有一个进程执行,操作系统会调度不同的进程去执行. 每一个进程都仅仅能执行一个固定的时间,当超过了该时间.操作 ...

  5. linux命令之------vmstat使用

    在linux命令中,vmstat是个经常用到的分析系统性能的命令之一,主要有两个参数:一个是采样频率,一个是采样的次数.如:vmstat   1  3,意思就是每隔1秒采样1次,总共采样3次. 统计次 ...

  6. 【引用】python 静态函数 类函数 实例函数

    1.关于定义类的一些奇特之处  今天在Python中定义一个类,很奇怪,不需要事先声明它的成员变量吗?暂时不知,先记录下来: class Account(object):    "一个简单的 ...

  7. windows远程桌面如果超出最大连接数, 使用命令行mstsc /console登录即可

    远程桌面如果超出最大连接数, 使用命令行mstsc /console登录即可. (也可以用 mstsc /admin) 可以在运行里使用mstsc /console /v:IP:远程端口即可强制登录; ...

  8. Ubuntu下安装配置和卸载Tomcat

    转载自:http://zyjustin9.iteye.com/blog/2177291 注:此处不采用apt-get安装,因为这种方式安装后,tomcat安装目录会到处都是,像天女散花一样.此处采取下 ...

  9. (九)Thymeleaf用法——Themeleaf注释

    4. 注释 模板名称:comment.html 4.1 标准 HTML/XML注释       语法:<!--     -->      4.2 解析器级注释块(Parser-level ...

  10. bios文字解释

    很多笔记本电脑用户由于不熟悉bios,导致在需要设置bios时不知如何下手,其实bios基本大同小异,熟悉了以后再遇到bios设置就手到擒来了. 今天我们以笔记本电脑为例,进行bios界面的解读. 1 ...