zoukankan      html  css  js  c++  java
  • centos7下编译安装php7.3

    一、下载php7.3的源码

    https://www.php.net/downloads.php
    

    下载php-7.3.4.tar.gz

    二、安装gcc,gcc-c++,kernel-devel

    yum -y install gcc gcc-c++ kernel-devel
    

      

    三、安装php需要的依赖库

    yum -y install wget pcre pcre-devel openssl openssl-devel libicu-devel autoconf libjpeg libjpeg-devel  
    libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel  
    glib2 glib2-devel ncurses ncurses-devel curl curl-devel krb5-devel libidn libidn-devel openldap  
    openldap-devel nss_ldap jemalloc-devel cmake boost-devel bison automake libevent libevent-devel  
    gd gd-devel libtool* libmcrypt libmcrypt-devel mcrypt mhash libxslt libxslt-devel readline  
    readline-devel gmp gmp-devel libcurl libcurl-devel openjpeg-devel
    

    四、创建用户和组,并解压

    groupadd www
    useradd -g www www
    tar xf php-7.3.4.tar.gz
    cd php-7.3.4
    

      

    五、进行编译安装

    php的路径 --prefix 和配置文件 --with-config-file-path 路径大家可以自行设置

    ./configure --prefix=/data/nmp/php 
    --with-config-file-path=/data/nmp/php/etc 
    --with-fpm-user=www 
    --with-fpm-group=www 
    --with-mysqli=mysqlnd 
    --with-pdo-mysql=mysqlnd 
    --with-iconv-dir 
    --with-freetype-dir 
    --with-jpeg-dir 
    --with-png-dir 
    --with-zlib 
    --with-libxml-dir 
    --with-ldap=shared 
    --with-gdbm 
    --with-pear 
    --with-gettext 
    --with-curl 
    --with-xmlrpc 
    --with-openssl 
    --with-mhash 
    --with-gd 
    --enable-fpm 
    --enable-mysqlnd 
    --enable-mysqlnd-compression-support 
    --enable-xml 
    --enable-rpath 
    --enable-bcmath 
    --enable-shmop 
    --enable-sysvsem 
    --enable-inline-optimization 
    --enable-mbregex 
    --enable-mbstring 
    --enable-intl 
    --enable-ftp 
    --enable-gd-jis-conv 
    --enable-pcntl 
    --enable-sockets 
    --enable-zip 
    --enable-soap 
    --enable-fileinfo 
    --enable-opcache 
    --enable-maintainer-zts 
    

    编译安装

    make -j 4 && make install
    

      

    上面的步骤有可能出现的问题:

    1、configure: WARNING: unrecognized options: --with-mcrypt, --with-libmbfl, --enable-gd-native-ttf

    说明上面的配置参数已经弃用了,删除即可。

    2、configure: error: DBA: Could not find necessary header file(s).

    安装下 yum install gdbm-devel

    3、configure: error: Cannot find ldap libraries in /usr/lib

    拷贝下文件 cp -frp /usr/lib64/libldap* /usr/lib/

    4、configure: error: off_t undefined; check your library configuration

    进行如下操作:

    vi /etc/ld.so.conf
    # 添加如下几行
    /usr/local/lib64
    /usr/local/lib
    /usr/lib
    /usr/lib64
    # 保存退出
    :wq
    # 使之生效
    ldconfig -v
    

    5、configure: error: Please reinstall the libzip distribution

    在 https://libzip.org/download/ 下载源码,进行安装

    tar xf libzip-1.5.2.tar.gz
    cd libzip-1.5.2
    mkdir build && cd build && cmake .. && make && make install
    

    6、CMake 3.0.2 or higher is required. You are running version 2.8.12.2

    说明你的cmake版本过低,需要重新安装

    先删除原有cmake

    yum remove cmake
    

    在 https://cmake.org/download/ 下载源码

    tar xf cmake-3.14.3.tar.gz
    cd cmake-3.14.3
    ./bootstrap && make && make install
    

    然后修改 vi /etc/profile,并加入如下内容

    PATH=/usr/local/bin:$PATH
    export PATH
    source /etc/profile
    

      

    六、配置php.ini文件

    具体的路径,大家可自行修改。

    cp php.ini-development /data/nmp/php/etc/php.ini
    cp /data/nmp/php/etc/php-fpm.conf.default /data/nmp/php/etc/php-fpm.conf
    cp /data/nmp/php/etc/php-fpm.d/www.conf.default /data/nmp/php/etc/php-fpm.d/www.conf

    配置php.ini文件

    max_execution_time = 120
    max_input_time = 120
    memory_limit = 1024M
    post_max_size = 128M
    date.timezone = PRC
    extension_dir = "/data/nmp/php/lib/php/extensions/no-debug-zts-20180731"
    

      

    七、配置Systemd服务

    其实php-fpm.service文件php已经帮我们配置好了,只需要我们复制到指定位置,并启用就行了。

    cp sapi/fpm/php-fpm.service /usr/lib/systemd/system/
    

    php-fpm.service文件内容如下:

    [Unit]
    Description=The PHP FastCGI Process Manager
    After=network.target
    
    [Service]
    Type=simple
    PIDFile=/data/nmp/php/var/run/php-fpm.pid
    ExecStart=/data/nmp/php/sbin/php-fpm --nodaemonize --fpm-config /data/nmp/php/etc/php-fpm.conf
    ExecReload=/bin/kill -USR2 $MAINPID
    PrivateTmp=true
    
    [Install]
    WantedBy=multi-user.target
    

    启用php-fpm.service

    systemctl enable php-fpm.service
    

    启动php-fpm

    systemctl start php-fpm.service
    

      

  • 相关阅读:
    关于同步解释
    dll 问题 (转)
    SQL SERVER 触发器中如何调用外部程序
    SQL SERVER所有表、字段名、主键、类型、长度、小数位数等信息
    variant 和 Stream 的互換
    Variant的相关函数
    使用 wxPython 创建“目录树”(5)
    wxPython 绘图演示——模拟雷达信号图(2)
    wxpython 实现简易画板(1)
    使用 wx.tools.img2py (4)
  • 原文地址:https://www.cnblogs.com/jkko123/p/10790427.html
Copyright © 2011-2022 走看看