zoukankan      html  css  js  c++  java
  • centos-php安装

    初学者自编文档,如有错误,请指出,具体命令就不阐述了,不明白 度娘吧!

    nginx我是编译安装在服务器上 和其他安装应该会有区别

    • 安装路径路径:/usr/local/
    • 安装包存放位置:/home/apps/web/
    前期依赖包安装链接 http://www.cnblogs.com/nikolatesfei/p/5422678.html

    1. 安装PHP

         cd  home/apps/web && mkdir php && cd php 进入安装包存放文件夹并创建php文件夹 并进入php安装文件夹

          A.下载  wget http://museum.php.net/php7/php-7.2.9.tar.gz

         B.解压  tar xzf php-7.2.9.tar.gz

         C.安装  ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc/ --with-mcrypt --with-zlib --with-curl --disable-debug --enable-fpm --enable-mbstring --enable-sockets --enable-zip --enable-xml --enable-pdo

                安装注解: --width-xx 为需要编译安装的内容,请根据合适的方案来,我后面因为需要php支持jpeg的支持需要重新编译GD库导致无法安装,只能重新安装php,在此申明,未加上GD库

    ---------------------------------------------------------------------------------

        我在这里安装出现了错误:

        configure: error:mcrypt.h not found. Please reinstall libmcrypt.

              百度资料,百度后 现整理如下 

              需安装libmcrypt 

              http://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/

              A. wget https://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz

              B. tar zxvf libmcrypt-2.5.8.tar.gz

              C. cd libmcrypt-2.5.8

              D.  ./configure --prefix=/usr/local

              E. make

              F. make instally

    安装完毕,请重新执行上一部操作

    -----------------------------------------------------------------------------------

             D. make 

             E. make install

    2.启动

        /usr/local/php/sbin/php-fpm -y=/usr/local/php/etc/php-fpm.conf -c=/usr/local/php/etc/php.ini

    -------------------------------------------------------------------------------------------------------------

           这里出现了错误:

            [21-Apr-2016 16:08:27] ERROR: failed to open configuration file '/usr/local/php/etc/php-fpm.conf': No such file or directory (2)

        [21-Apr-2016 16:08:27] ERROR: failed to load configuration file '/usr/local/php/etc/php-fpm.conf'
        [21-Apr-2016 16:08:27] ERROR: FPM initialization failed

         自查应该是缺少conf文件

         1 .cd /usr/local/php/etc

         2 .cp php-fpm.conf.default php-fpm.conf 复制一个文件 复制的文件名为php-fpm.conf

     -------------------------------------------------------------------------------------------------------------------------------

     ----------------------------------

    2.重启

    /usr/local/php/sbin/php-fpm -y=/usr/local/php/etc/php-fpm.conf -c=/usr/local/php/etc/php.ini -t 
    killall php
    /usr/local/php/sbin/php-fpm -y=/usr/local/php/etc/php-fpm.conf -c=/usr/local/php/etc/php.ini
    ----------------------------------------------------------------------------
    这里重启一个错误:

    ERROR: unable to bind listening socket for address ’127.0.0.1:9000′
    解决方案:
    netstat -lntup | grep 9000
    killall php-fpm

    -----------------------------------------------------------------------------------

    3.配置

     1.phpinfo() 中 Loaded Configuration File 值为none

       直接把源码包中的php.ini-production拷贝到--with-config-file-path设置的路径,例:/usr/local/php/etc/php.ini

       --with-config-file-path 为安装代码中的值 在安装代码中已经加上

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

      2.日志文件

    php.ini

    error_log = /usr/local/php/log/error_log
    error_reporting = E_ALL
    改成 error_reporting = E_ALL | E_STRICT

    log_errors = On

    display_errors = off

    extension_dir="/usr/local/php/lib/php/extensions/"

    php-fpm.conf

    catch_workers_output = yes
    error_log = /usr/local/php/log/error_log

     www.conf

    # 只有www.conf.default,那么复制一个www.conf

    cd /usr/local/php/etc/php-fpm.d

    cp www.conf.default www.conf

    vi /usr/local/php/etc/php-fpm.d/www.conf

    将 user = nobody group=nobody改成你系统运行的角色,如果你是root运行,忽略本次操作

    3.环境变量

    1.vi etc/profile

    2.在最后追加

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

      export PATH

    'user' directive is ignored when FPM is not running as root
    用的非root用户运行的,sudo 运行命令即可
  • 相关阅读:
    泛型的内部原理:类型擦除以及类型擦除带来的问题
    内部类访问局部变量的时候,为什么变量必须加上final修饰
    Web 测试经验总结
    故障测试
    智能硬件产品的测试经验总结
    web端测试和移动端测试的区别小记
    MVC模式介绍
    重定向与转发
    MySQL权限管理分配
    pt-heartbeat工具监控MySQL复制延迟
  • 原文地址:https://www.cnblogs.com/nikolatesfei/p/5418905.html
Copyright © 2011-2022 走看看