zoukankan      html  css  js  c++  java
  • Linux配置LNMP环境(二)配置PHP

    前言:本教程安装的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],大功告成!~!~!~

  • 相关阅读:
    [MySQL] LIMIT 分页优化
    [Flutter] 因为不讲这个重点, 全网 flutter 实战视频沦为二流课程
    [Kafka] |FAIL|rdkafka#producer-1 : Receive failed: Disconnected
    [Flutter] lib/main.dart:1: Warning: Interpreting this as package URI, 'package:flutter_app/main.dart'.
    [Flutter] 写第一个 Flutter app,part1 要点
    [Go] 开始试探一门新语言的五点思考
    [转]Android进程间通信
    [转]android ANR产生原因和解决办法
    Android开发之旅(二)服务生命周期和广播接收者生命周期
    为什么要有handler机制?handler机制的原理
  • 原文地址:https://www.cnblogs.com/wangzhaobo/p/7104151.html
Copyright © 2011-2022 走看看