zoukankan      html  css  js  c++  java
  • CentOS7.6编译安装PHP 7.3.8

    安装步骤

    PHP官网下载链接:https://www.php.net/downloads.php

    1. 使用wget命令下载源码安装包

    wget https://www.php.net/distributions/php-7.3.8.tar.gz --no-check-certificate

    【说明】如果报SSL Certification错误信息的话,就加上 --no-check-certificate选项,一般不需要添加。

    2. 解压.tar.gz文件

    tar -xzvf php-7.3.8.tar.gz

    3. 进入php-7.3.8目录下,执行./configure,即配置和构建PHP

    •  查看configure的用法以及配置选项: ./configure -h 或者 --help
    • php常用配置及其说明
    --prefix=/usr/local/php7 # 配置安装目录
    --with-config-file-path=/usr/local/php7 # 配置文件 php.ini 的路径
    --enable-sockets # 开启 socket 
    --enable-fpm # 启用 fpm 扩展
    --enable-cli # 启用 命令行模式 (从 php 4.3.0 之后这个模块默认开启所以可以不用再加此命令)
    --enable-mbstring # 启用 mbstring 库
    --enable-pcntl # 启用 pcntl (仅 CLI / CGI)
    --enable-soap # 启用 soap 
    --enable-opcache # 开启 opcache 缓存
    --disable-fileinfo # 禁用 fileinfo (由于 5.3+ 之后已经不再持续维护了,但默认是开启的,所以还是禁止了吧)(1G以下内存服务器直接关了吧)
    --disable-rpath  #禁用在搜索路径中传递其他运行库。
    --with-mysqli # 启用 mysqli 扩展
    --with-pdo-mysql # 启用 pdo 扩展
    --with-iconv-dir # 启用 XMLRPC-EPI 字符编码转换 扩展
    --with-openssl # 启用 openssl 扩展 (需要 openssl openssl-devel)
    --with-fpm-user=www #设定 fpm 所属的用户 
    --with-fpm-group=www #设定 fpm 所属的组别
    --with-curl # 启用 curl 扩展
    --with-mhash # 开启 mhash 基于离散数学原理的不可逆向的php加密方式扩展库
    # GD
    --with-gd # 启用 GD 图片操作 扩展
    --with-jpeg-dir # 开启对 jpeg 图片的支持 (需要 libjpeg)
    --with-png-dir # 开启对 png 图片支持 (需要 libpng)
    --with-freetype-dir # 开启 freetype 
    # 压缩
    --enable-zip # 启用 zip
    --with-zlib # 启用对 zlib 支持 
    # xml
    --enable-simplexml # 启用对 simplexml 支持
    --with-libxml-dir # 启用对 libxml2 支持

    #一些不常用的配置
    --enable-debug # 开启 debug 模式

    我执行configure的命令如下:

    ./configure --prefix=/usr/local/php7 
    --with-config-file-path=/usr/local/php7
    --enable-sockets
    --enable-fpm
    --enable-cli
    --enable-mbstring
    --enable-pcntl
    --enable-soap
    --enable-opcache
    --disable-fileinfo
    --disable-rpath
    --with-mysqli
    --with-pdo-mysql
    --with-iconv-dir
    --with-fpm-user=www
    --with-fpm-group=www
    --with-curl=/usr/local/curl
    --with-mhash
    --with-gd=no
    --with-jpeg-dir
    --with-png-dir
    --with-freetype-dir
    --enable-zip
    --with-zlib
    --enable-simplexml
    --with-libxml-dir
    --with-openssl=/usr/local/openssl

    在执行过程中,可能会有报错。我在执行过程中,遇到了curl和OpenSSL库的安装路径没有找到,因为不是安装在/etc/bin和/etc/lib路径下,所以需要手动设置这两个库的安装路径:

    --with-curl=/usr/local/curl

    --with-openssl=/usr/local/openssl

    我关闭了GD图片操作扩展,即:--with-gd=no,如果是:--with-gd ,则表示开启。

    4. 编译和安装

    make && make install

    5. 配置PHP环境变量

    (1)vim /etc/profile //需要root权限
    (2)在profile文件末尾添加如下内容:
    export PATH=$PATH:/usr/local/php7/bin  #这一步可以让我们全局使用php命令
    (3) source /etc/profile                               #让修改后的profile生效
    (4) php -i //查看配置信息

    如果第4步的执行成功打印了PHP information的话,表示PHP已经安装成功了。

    ## 查看php的用法帮助

    $ php -h

    ## 查看php的版本信息

    $ php -v

    6. 配置php.ini文件

    $ php -i|grep php.ini

    Configuration File (php.ini) Path => /usr/local/php7
    Loaded Configuration File => /usr/local/php7/php.ini

    配置文件在安装包目录下: php-7.3.8/
    php.ini-development   //开发模式版本
    php.ini-production      //生产模式版本
    这里,我们选择生产模式版本复制到指定路径下

    $ cp php.ini-production /usr/local/php7/php.ini

    <注意> php.ini文件所在的目录一定要与php -i里面查出的位置保持一致,不然修改php.ini文件是不会生效的。

    7. 安装composer

    > wget https://getcomposer.org/composer.phar
    > cp composer.phar /usr/bin/composer
    > cd /usr/bin; chmod u+x composer
    > composer -v

    如果打印出composer的版本信息,即表示composer安装成功了。

    遇到的问题

    【问题】error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed

    1. 下载证书。https://curl.haxx.se/ca/cacert.pem,存放路径: /home/lbs/cert/cacert.pem(这个路径自定义)
    2. 修改php.ini配置文件
    > cd /usr/local/php7/;ls
    > vim php.ini
    修改openssl.cafile= /home/lbs/cert/cacert.pem

    【参考】

    centos7 源码编译安装 php  https://www.cnblogs.com/l5gw/p/10992958.html

    编译php7.1.4出现 undefined reference to isfinite    https://blog.csdn.net/letshi/article/details/71079677

    Linux环境下composer的安装  https://blog.csdn.net/lifei15731208550/article/details/91039823

     

  • 相关阅读:
    数据库 —— 基于 ORM 模型的 Hibernate 的使用(java)
    数据库 —— mySQL 的安装
    数据库 —— 应用程序与数据库的连接
    windows 编程 —— 子窗口类别化(Window Subclassing)
    windows 编程 —— 消息与参数(定时器、初始化消息、改变大小)
    windows 编程 —— 子窗口 与 子窗口控件
    windows 编程 —— 消息与参数(滚动条、键盘、鼠标)
    windows 编程—— 使用函数笔记
    关于计算机编程语言——编译型和解释型_2
    关于计算机编程语言——编译型和解释型【转】
  • 原文地址:https://www.cnblogs.com/yunfan1024/p/11316641.html
Copyright © 2011-2022 走看看