php 编译安装

  • 下载源码
  • 安装
  • 安装后配置

下载源码

php下载地址:http://php.net/downloads.php

php-7.1.11.tar.bz2

安装

安装依赖包

  1. yum install -y epel-release bzip2
  2. yum install -y libxml2-devel curl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel

编译参数

  1. ./configure \
  2. --prefix=/usr/local/php-7.1.11 \
  3. --with-config-file-path=/usr/local/php-7.1.11/etc \
  4. --enable-fpm \
  5. --enable-exif \
  6. --enable-sockets \
  7. --enable-bcmath \
  8. --enable-mbstring \
  9. --enable-pcntl \
  10. --enable-calendar \
  11. --enable-opcache \
  12. --enable-zip \
  13. --with-fpm-user=www \
  14. --with-fpm-group=www \
  15. --with-mysqli=/usr/bin/mysql_config \
  16. --with-pdo-mysql \
  17. --enable-mysqlnd \
  18. --with-zlib \
  19. --with-gd \
  20. --with-png-dir \
  21. --with-jpeg-dir \
  22. --with-gettext \
  23. --with-freetype-dir \
  24. --with-mcrypt \
  25. --with-openssl \
  26. --with-curl \
  27. make
  28. make install

安装后配置

创建安装目录链接文件

  1. ln -s /usr/local/php-7.1.11 /usr/local/php

创建配置文件链接目录

  1. ln -s /usr/local/php/etc /etc/php
  2. \cp /usr/local/src/php-7.1.11/php.ini-production /usr/local/php/etc/

编辑配置文件

  1. cp /usr/local/php-<old-version>/etc/php.ini /usr/local/php/etc/ # 升级
  2. cp /usr/local/php-<old-version>/etc/php-fpm.conf /usr/local/php/etc/ # 升级
  3. cd /usr/local/php/etc/
  4. cp php.ini-production php.ini
  5. cp php-fpm.conf.default php-fpm.conf
  6. cp php-fpm.d/www.conf.default php-fpm.d/www.conf
  7. vim php-fpm.conf
  8. pid = /var/run/php-fpm.pid
  9. error_log = /var/log/php-fpm.log

配置启动项

  1. ln -s /usr/local/php/sbin/* /usr/sbin/
  2. ln -s /usr/local/php/bin/* /usr/bin/
  3. php -v
  4. php-config
  5. vim /usr/lib/systemd/system/php-fpm.service
  6. [Unit]
  7. Description=The PHP FastCGI Process Manager
  8. After=syslog.target network.target
  9. [Service]
  10. Type=simple
  11. PIDFile=/var/run/php-fpm.pid
  12. ExecStart=/bin/nice --10 /usr/sbin/php-fpm --nodaemonize --fpm-config /etc/php/php-fpm.conf -c /etc/php/php.ini -R
  13. ExecReload=/bin/kill -USR2 $MAINPID
  14. ExecStop=/bin/kill $MAINPID
  15. [Install]
  16. WantedBy=multi-user.target
  17. 或者
  18. [Unit]
  19. Description=The PHP FastCGI Process Manager
  20. After=syslog.target network.target
  21. [Service]
  22. Type=simple
  23. PIDFile=/var/run/php-fpm.pid
  24. Environment="basedir=/usr/local/php"
  25. ExecStart=/bin/nice --10 ${basedir}/sbin/php-fpm --nodaemonize --fpm-config ${basedir}/etc/php-fpm.conf -c ${basedir}/etc/php.ini -R
  26. ExecReload=/bin/kill -USR2 $MAINPID
  27. ExecStop=/bin/kill $MAINPID
  28. [Install]
  29. WantedBy=multi-user.target

启动 php-fpm

  1. systemctl start php-fpm
  2. ps -ef|grep php-fpm
  3. systemctl enable php-fpm

测试

  1. vim /etc/nginx/nginx.conf # 在nginx的配置文件中设置支持php
  2. location / {
  3. root html;
  4. index index.html index.htm index.php;
  5. }
  6. location ~ \.php$ {
  7. root html;
  8. fastcgi_pass 127.0.0.1:9000;
  9. fastcgi_index index.php;
  10. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  11. include fastcgi_params;
  12. }
  13. cd /usr/local/nginx/html
  14. vim index.php
  15. <?php
  16. echo "test page for php";
  17. phpinfo();
  18. ?>
  19. systemctl restart nginx # 重启nginx服务
  20. 浏览器中访问 IP/index.php

php 安装结束,安装后还需要优化。

升级php版本:

  1. ln -s /usr/local/php-<version> /usr/local/php # 把新版本的安装目录链接到 php 上
  2. \cp -r /usr/local/php-<old-version>/etc/* /usr/local/php/etc/ # 把旧版本的php配置文件拷贝到新版本的相应目录
  3. php -v # 查看是否配置好php的链接
  4. php-config
  5. systemctl restart php-fpm # 重启php-fpm
  6. 访问测试页面

有疑惑之处请发邮件到下面的邮箱。

2017-11-6 by achxku@163.com

php 编译安装指导的更多相关文章

  1. zabbix 编译安装指导

    zabbix 编译安装 下载 安装 安装后的配置 下载源码包 zabbix官网:https://www.zabbix.com/ zabbix下载:https://www.zabbix.com/down ...

  2. nginx-1.12.2编译安装指导

    nginx-1.12.2编译安装 下载源码包 安装 安装后配置 下载源码包 下载地址:http://nginx.org/en/download.html nginx-1.12.2:http://ngi ...

  3. windows下Bullet 2.82编译安装(Bullet Physics开发环境配置)

    平台:Win7,VS2010 1. Bullet库的组织 下图是Bullet_User_Manual中的截图: 从中可见,Bullet的LinearMath(线性数学模块),其上是BulletColl ...

  4. VLC编译问题

    在Ubuntu下编译VLC源代码生成的VLC无法播放Youtube视频(比如https://www.youtube.com/watch?v=mDp-ABzpRX8) 错误提示如下: zlf@ubunt ...

  5. 【转】Windows下使用VS2008编译OpenCV 2.1 添加Intel TBB和Python支持

    Windows下使用VS2008编译OpenCV2.1 添加Intel TBB和Python支持 步骤: 1.仔细阅读OpenCV官网上的InstallGuide:http://opencv.will ...

  6. win7下从ruby源代码编译安装

    工作中需要在c++代码中嵌入ruby c api,然而在vs工程中编译失败,所以现在通过手动从源代码编译ruby寻找原因(之前使用rubyinstaller安装).   先从官网下载ruby 2.4. ...

  7. centos 编译lantrn

    github上的安装指导: Custom fork of Go is currently required. We'll eventually switch to Go 1.7 which suppo ...

  8. 编译wxWidgets —— windows、vc71、bcc32、MinGW与命令行

    编译wxWidgets —— windows.vc71.bcc32.MinGW与命令行 http://www.diybl.com/course/3_program/vc/vc_js/20071226/ ...

  9. 【视频开发】【计算机视觉】doppia编译之一:前言及安装CUDA

    最近做一个"高清视频人流量检测"的项目,由于对实时性要求较高,我们需要较快的检测速度.在搜索茫茫"论"海后,我在"The Fastest Deform ...

随机推荐

  1. IO文件夹拷贝(文件内含有文件和文件夹)

    /** * 文件夹拷贝(文件内含有文件和文件夹) * * @param src * @param des */ private static void copy(String src, String ...

  2. CF 520 B. Two Buttons(bfs)

    /*题意:一个数,就是输入的第一个数,让它变成第二个数最少用几步.可以点红色按钮,蓝色按钮来改变数字,红色:*2,蓝色:-1,如果变成负数,就变成原来的数.CF 520 B. Two Buttons思 ...

  3. python 字符串的特性

    #######str字符串#####str字符判断大小写  url1 = 'http://www.cctv.com'  url2 = 'file:///mnt'  print url1.startsw ...

  4. Go语言基础之12--Channel

    一.不同goroutine之间如何进行通讯? 1.全局变量和锁同步 缺点:多个goroutine要通信时,定义太多的全局变量(每个全局变量功能不一样),不好维护 2.Channel 二.channel ...

  5. unittest框架

    在我们真正的编写测试用例之前,我们需要了解一下测试框架. unittest是python自带的单元测试框架,尽管其主要是为单元测试服务的,但我们也可以用它来做接口的自动化测试. unittest框架为 ...

  6. day 006 小数据池和再谈编码

    1.小数据池. 目的:缓存我们的字符串,整数,布尔值.在使用的时候不需要创建过多的对象 缓存: int str bool int 范围:-5~256 str: 1.长度小于等于1,直接缓存 2.长度大 ...

  7. codeforces之4.1学习记录

    记录一些之前没见过的代码: #include <bits/stdc++.h> using namespace std; typedef long long ll; #define INF ...

  8. 查看SQL SERVER Job details

    SELECT [sJOB].[job_id] AS [JobID] , [sJOB].[name] AS [JobName] , [sDBP].[name] AS [JobOwner] , [sCAT ...

  9. AVplayer搭建ftp共享PC端

    1.安装FTP服务 2.关闭防火墙 3.添加FTP站点 设置ip时,需要查询本机的ip 本机测试 4.iphone安装AVPlayer,并设置

  10. 【3dsMax安装失败,如何卸载、安装3dMax 2019?】

    AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...