1.获取php源码

  # cd /usr/local/src/

  # wget http://cn2.php.net/get/php-7.0.15.tar.gz/from/this/mirror

  2.解压源码包

  # tar -xf mirror

  # cd php-7.0.15

  3.根据自己需要写配置

  # ./configure --prefix=/usr/local/php --with-mysqli --with-openssl --enable-fpm --enable-sockets --enable-sysvshm  --with-mysqli --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib-dir --with-libxml-dir=/usr --enable-xml  --with-mhash --with-mcrypt  --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --with-curl --with-pdo_mysql

  注:此过程会报错,和nginx一样缺少什么软件就安装对应的dev包,我在执行时报的错误安装了一下包,仅供参考 yum install libxml2-devel.x86_64 bzip2-devel.x86_64 libcurl-devel.x86_64 -y

  4.# make

  5.# make test

  6.# make install

  7.为php提供主配置文件

  # cp php.ini-production /etc/php.ini

  8.为php-fpm提供Sysv init脚本,并将其添加至服务列表:

  # cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm

  # chmod +x /etc/rc.d/init.d/php-fpm

  # chkconfig --add php-fpm

  #chkconfig php-fpm on

  9.为php-fpm提供配置文件

  #cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

  #cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf

  10.修改配置文件

    修改主配置文件:

      # vim /etc/php.ini

      cgi.fix_pathinfo=0

    修改php-fpm配置文件:

      # vim /usr/local/php/etc/php-fpm.conf

      开启php-fpn.conf的pid  pid=run/php-fpm.pid

    修改www的配置文件:

      # vim /usr/local/php/etc/php-fpm.d/www.conf

      将用户与组都修改为www-data用户

      user=www-data

      group=www-data

  11.修改nginx配置文件,使其将收到的php请求转发给php-fpm处理,取消PHP模块之前的注释,并修改为

    #vim /etc/nginx.conf

    location / {
      root html;
      index index.php index.html index.htm;
    }

    

    location ~* \.php$ {
      fastcgi_index index.php;
      fastcgi_pass 127.0.0.1:9000;
      include fastcgi_params;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      fastcgi_param SCRIPT_NAME $fastcgi_script_name;
    }

  12.修改php.ini指定mysql的socket文件地址

    # vim /etc/my.cnf | grep socket

    会显示当前的sock文件地址 格式:socket=/var/lib/mysql/mysql.sock

    将mysql的socket地址填入php.ini

    # vim /etc/php.ini

    找到并修改为mysqli.default_socket = /var/lib/mysql/mysql.sock

  13.启动php-fpm,重新启动nginx

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

    # /usr/local/nginx/sbin/nginx -t

    # killall nginx

    # /usr/local/nginx/sbin/nginx

  14.创建测试页

    #rm /usr/local/nginx/html/index.html

    # vim /usr/local/nginx/html/index.php

      

<?php
$conn = new mysqli('localhost','root','此处填写MySQL-root用户的密码','mysql');
var_dump($conn);

  15.测试

    #curl http://localhost

 

												

最新文章

  1. 我们为什么要看《超实用的Node.JS代码段》
  2. ssh 注解写法
  3. 按Enter键触发事件
  4. 6-03使用SQL语句一次型向表中插入多行数据
  5. HDOJ 1083 Courses
  6. Ubuntu/linux 安装 kernel-devel
  7. YTU 2972: C语言习题5.24--文件操作1
  8. Ruby 多线程探索实践与归纳总结
  9. a letter and a number
  10. 转:Apache和Nginx运行原理解析
  11. 【转】单双精度浮点数的IEEE标准格式
  12. SSMS2008插件开发(3)--部署调试SSMS2008插件
  13. 集美大学网络1413第十一次作业成绩(团队七) -- Alpha冲刺之事后诸葛亮
  14. kylin客户端(python编写)不能按照预期的segment进行rebuild
  15. 算法题丨3Sum Closest
  16. Kali Linux 工具使用中文说明书
  17. 获取input Date日期 时间,并得到前一天的Date值
  18. redis--解析字符串
  19. es6学习日记3
  20. IoGetRelatedDeviceObject学习

热门文章

  1. log4j教程 11、日志记录到文件
  2. 转: Servlet-jsp从入门到精通 1~5
  3. SSO单点登录系列3:cas-server端配置认证方式实践(数据源+自定义java类认证)
  4. Laravel之缓存
  5. Linux——环境变量的文件及配置
  6. foreach 加& 什么意思?
  7. ES6 动态计算属性名
  8. JavaScript历史状态管理
  9. Spring IOC源代码具体解释之容器初始化
  10. springMVC 前后台日期格式传值解决方式之二(共二) @InitBinder的使用