zoukankan      html  css  js  c++  java
  • CentOS 7 下编译安装lnmp之PHP篇详解

    一、安装环境

    宿主机=> win7,虚拟机 centos => 系统版本:centos-release-7-5.1804.el7.centos.x86_64

    二、PHP下载

    官网 http://www.php.net/downloads.php 下载 php-7.3.0.tar.bz2 至 /usr/local/src 目录下

    解压并移动至 /usr/local/下,重命名为php7

    [root@bogon src]# tar -jxf php-7.3.0.tar.bz2 
    [root@bogon src]# mv php-7.3.0 /usr/local/php7
    [root@bogon src]# ls /usr/local/php7
    acinclude.m4      genfiles         php.ini-development               run-tests.php
    aclocal.m4        header           php.ini-production                sapi
    appveyor          INSTALL          README.EXT_SKEL                   scripts
    build             install-sh       README.GIT-RULES                  server-tests-config.php
    buildconf         LICENSE          README.input_filter               server-tests.php
    buildconf.bat     ltmain.sh        README.MAILINGLIST_RULES          snapshot
    CODING_STANDARDS  main             README.md                         stamp-h.in
    config.guess      makedist         README.NEW-OUTPUT-API             tests
    config.sub        Makefile.frag    README.PARAMETER_PARSING_API      travis
    configure         Makefile.gcov    README.REDIST.BINS                TSRM
    configure.ac      Makefile.global  README.RELEASE_PROCESS            UPGRADING
    CONTRIBUTING.md   missing          README.SELF-CONTAINED-EXTENSIONS  UPGRADING.INTERNALS
    CREDITS           mkinstalldirs    README.STREAMS                    vcsclean
    ext               NEWS             README.SUBMITTING_PATCH           win32
    EXTENSIONS        pear             README.TESTING                    Zend
    footer            php7.spec.in     README.UNIX-BUILD-SYSTEM
    generated_lists   php.gif          README.WIN32-BUILD-SYSTEM

    三、PHP7编译安装

    1、安装依赖

    [root@bogon src]# yum install gd zlib zlib-devel openssl openssl-devel libxml2 libxml2-devel libjpeg libjpeg-devel libpng libpng-devel

    2、配置参数

    [root@bogon php7]# ./configure --prefix=/usr/local/php7 --with-gd --enable-mysqlnd --with-pdo-mysql=mysqlnd --with-openssl --enable-mbstring --enable-fpm

         运行结果

    Thank you for using PHP.
    
    config.status: creating php7.spec
    config.status: creating main/build-defs.h
    config.status: creating scripts/phpize
    config.status: creating scripts/man1/phpize.1
    config.status: creating scripts/php-config
    config.status: creating scripts/man1/php-config.1
    config.status: creating sapi/cli/php.1
    config.status: creating sapi/fpm/php-fpm.conf
    config.status: creating sapi/fpm/www.conf
    config.status: creating sapi/fpm/init.d.php-fpm
    config.status: creating sapi/fpm/php-fpm.service
    config.status: creating sapi/fpm/php-fpm.8
    config.status: creating sapi/fpm/status.html
    config.status: creating sapi/phpdbg/phpdbg.1
    config.status: creating sapi/cgi/php-cgi.1
    config.status: creating ext/phar/phar.1
    config.status: creating ext/phar/phar.phar.1
    config.status: creating main/php_config.h
    config.status: main/php_config.h is unchanged
    config.status: executing default commands

    3、编译安装

    [root@bogon php7]# make && make install

    四、启动PHP7

    1、测试启动PHP进程

    [root@bogon php7]# ./sbin/php-fpm 
    [24-Dec-2018 12:42:24] ERROR: failed to open configuration file '/usr/local/php7/etc/php-fpm.conf': No such file or directory (2)
    [24-Dec-2018 12:42:24] ERROR: failed to load configuration file '/usr/local/php7/etc/php-fpm.conf'
    [24-Dec-2018 12:42:24] ERROR: FPM initialization failed

    大意是在 /usr/local/php7/etc/ 目录下找不到 php-fpm.conf,进入该目录查看

    [root@bogon php7]# ls etc
    pear.conf  php-fpm.conf.default  php-fpm.d

    只有 php-fpm.conf.default文件,复制一份更名为 php-fpm.conf

    [root@bogon php7]# cp etc/php-fpm.conf.default etc/php-fpm.conf
    [root@bogon php7]# ls etc
    pear.conf  php-fpm.conf  php-fpm.conf.default  php-fpm.d

         再次启动

    [root@bogon php7]# ./sbin/php-fpm 
    [24-Dec-2018 12:48:02] WARNING: Nothing matches the include pattern '/usr/local/php7/etc/php-fpm.d/*.conf' from /usr/local/php7/etc/php-fpm.conf at line 143.
    [24-Dec-2018 12:48:02] ERROR: No pool defined. at least one pool section must be specified in config file
    [24-Dec-2018 12:48:02] ERROR: failed to post process the configuration
    [24-Dec-2018 12:48:02] ERROR: FPM initialization failed
    去 /usr/local/php7/etc/php-fpm.conf 的143行查看
    [root@bogon php7]# vi etc/php-fpm.conf
    
    143 include=/usr/local/php7/etc/php-fpm.d/*.conf

    查看 /usr/local/php7/etc/php-fpm.d 目录

    [root@bogon php7]# ls etc/php-fpm.d
    www.conf.default

    只有www.conf.default,复制一份重命名为 www.conf

    [root@bogon php7]# cp etc/php-fpm.d/www.conf.default etc/php-fpm.d/www.conf
    [root@bogon php7]# ls etc/php-fpm.d
    www.conf  www.conf.default

    再次启动 php-fpm

    [root@bogon php7]# ./sbin/php-fpm 
    [root@bogon php7]# ps aux | grep php
    root     14280  0.0  0.5 181200  5620 ?        Ss   12:54   0:00 php-fpm: master process (/usr/local/php7/etc/php-fpm.conf)
    nobody   14281  0.0  0.5 181200  5220 ?        S    12:54   0:00 php-fpm: pool www
    nobody   14282  0.0  0.5 181200  5220 ?        S    12:54   0:00 php-fpm: pool www
    root     14284  0.0  0.0 112704   960 pts/0    R+   12:54   0:00 grep --color=auto php

    进程启动成功,查看php详细版本信息

    [root@bogon php7]# ./bin/php -v
    PHP 7.3.0 (cli) (built: Dec 24 2018 12:33:07) ( NTS )
    Copyright (c) 1997-2018 The PHP Group
    Zend Engine v3.3.0-dev, Copyright (c) 1998-2018 Zend Technologies

    2、设置开机启动

         2.1、在系统服务目录里创建php7.,service文件

    [root@bogon php7]# vi /lib/systemd/system/php7.service

        2.2、添加如下内容

    [Unit]
    Description=The PHP FastCGI Process Manager
    After=syslog.target network.target
    
    [Service]
    Type=simple
    PIDFile=/run/php-fpm.pid
    ExecStart=/usr/local/php7/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php7/etc/php-fpm.conf
    ExecReload=/bin/kill -USR2 $MAINPID
    ExecStop=/bin/kill -SIGINT $MAINPID
    
    [Install]
    WantedBy=multi-user.target

        2.3、添加到开机启动

    [root@bogon php7]# systemctl enable php7.service

        2.4、启动php7服务

    [root@bogon php7]# pkill -9 php-fpm
    [root@bogon php7]# systemctl start php7
    [root@bogon php7]# systemctl status php7
    ● php7.service - The PHP FastCGI Process Manager
       Loaded: loaded (/usr/lib/systemd/system/php7.service; enabled; vendor preset: disabled)
       Active: active (running) since Mon 2018-12-24 13:09:56 CST; 7s ago
     Main PID: 14401 (php-fpm)
       CGroup: /system.slice/php7.service
               ├─14401 php-fpm: master process (/usr/local/php7/etc/php-fpm.conf)
               ├─14402 php-fpm: pool www
               └─14403 php-fpm: pool www
    
    Dec 24 13:09:56 bogon systemd[1]: Started The PHP FastCGI Process Manager.
    Dec 24 13:09:56 bogon systemd[1]: Starting The PHP FastCGI Process Manager...

    至此,php7编译安装完毕。

  • 相关阅读:
    Head first java chapter 8 接口与抽象类
    Head first java chapter 4 对象的行为
    Head first java chapter 3认识变量
    Head first java chapter 2 拜访对象村
    Head first java chapter 1
    Invalid left-hand side in assignment
    swtich多个case使用同一操作
    CSS绘制小三角
    超出文字出现省略号不换行
    css代码实现列表等宽
  • 原文地址:https://www.cnblogs.com/splendid/p/10167811.html
Copyright © 2011-2022 走看看