• 技术文章 >后端开发 >PHP8

    教你最快速度安装php8.2套件(ubuntu 20.04 focal)

    藏色散人藏色散人2023-01-13 10:03:36转载130

    本篇文章给大家带来了关于php8.2的相关知识,其中主要介绍了教大家怎么快速安装php8.2套件?到底有多快呢?大概可能20分钟左右...下面一起来看一下,希望对大家有帮助。

    快速安装php8.2套件(ubuntu 20.04 focal)

    到底有多快?我这边尝试的结果是总共大约 20 分钟左右(不含操作系统)。

    另外,同样是我的电脑,同样阿里云镜像库,装 centos 系统各类软件含 php 就很快,但装这个 ubuntu 就比较慢,原因不太清楚(可能的一个原因是因为 ubuntu 用的人太多,阿里限制了源的下载速率来稍微省点钱。)。

    本文各软件版本

    ubuntu 20.04
    php 8.2.1
    nginx 1.22.1
    mysql 8.0.31
    redis 7.0.7
    git 2.24.4

    首先,安装阿里的 仓库

    首先必须 apt update
    安装 vim
    
    vim /etc/apt/sources.list
    内容如下,就是搞阿里云镜像。但是http的,被我改的。不搞无法更新。
    deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
    
    deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
    
    deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
    
    deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
    
    然后
    apt update
    
    apt install -y --reinstall ca-certificates
    
    现在,再把阿里云镜像库中的 http 改成标准的 https,
    vim /etc/apt/sources.list
    
    deb https://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
    deb-src https://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
    
    deb https://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
    deb-src https://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
    
    deb https://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
    deb-src https://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
    
    # deb https://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
    # deb-src https://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
    
    deb https://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
    deb-src https://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
    然后。再次
    apt update

    安装 php 8

    apt install -y gnupg gosu curl ca-certificates zip unzip git supervisor sqlite3 libcap2-bin libpng-dev python2 dnsutils systemd gnupg2 lsb-release ubuntu-keyring
    
    上面的命令需要选择多个选项。选亚洲 asia。选上海 shanghai
    
    curl -sS 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x14aa40ec0831756756d7f66c4f4ea0aae5267a6c' | gpg --dearmor | tee /usr/share/keyrings/ppa_ondrej_php.gpg > /dev/null
    
    echo "deb [signed-by=/usr/share/keyrings/ppa_ondrej_php.gpg] https://ppa.launchpadcontent.net/ondrej/php/ubuntu focal main" > /etc/apt/sources.list.d/ppa_ondrej_php.list
    
    
    apt-get update
    
    apt-get install -y php8.2-cli php8.2-dev  php8.2-pgsql php8.2-sqlite3 php8.2-gd  php8.2-curl  php8.2-imap php8.2-mysql php8.2-mbstring  php8.2-xml php8.2-zip php8.2-bcmath php8.2-soap   php8.2-intl php8.2-readline  php8.2-ldap  php8.2-msgpack php8.2-igbinary php8.2-redis php8.2-swoole  php8.2-memcached php8.2-pcov  php8.2-fpm php8.2-gmp php8.2-imagick php8.2-mcrypt php8.2-uuid php8.2-yaml

    执行上面这些命令,大约 15 分钟左右,主要耗时就是这里。

    安装阿里的 composer 镜像源

    curl -o /usr/local/bin/composer https://mirrors.aliyun.com/composer/composer.phar
    
    chmod +x /usr/local/bin/composer
    
    composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

    使用 root 身份执行 composer 命令,会提示输入 yes ,挺麻烦,则

    vim /etc/environment

    文字

    export COMPOSER_ALLOW_SUPERUSER=1

    然后

    source /etc/environment

    安装 nginx 并整合 php-fpm 服务

    curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
    
    gpg --dry-run --quiet --no-keyring --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg
    
    echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/ubuntu `lsb_release -cs` nginx"  | tee /etc/apt/sources.list.d/nginx.list
    
    apt update
    apt install nginx
    
    改php-fpm 配置。
    sed -i 's/listen\ =\ \/run\/php\/php8.2-fpm.sock/listen\ =\ 127.0.0.1:9000/g' /etc/php/8.2/fpm/pool.d/www.conf
    
    
    修改 /etc/nginx/nginx.conf
    第一行 
    user  www-data;
    
    然后,
    rm -f /etc/nginx/conf.d/default.conf
    vi /etc/nginx/conf.d/default.conf
    /etc/nginx/conf.d/default.conf 文件内容如下
    
    server {
        listen       80;
        server_name  localhost;
        charset utf-8 ;
        access_log  /var/log/nginx/host.access.log  main;
        root   /usr/share/nginx/html;
        index index.php  index.html index.htm;
        error_page 404  500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
        location / {
            try_files $uri $uri/ /index.php?$query_string;
        }
        location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $realpath_root$fastcgi_script_name;
            include        fastcgi_params;
        }
    }

    添加一个 php 文件如下:

    vi /usr/share/nginx/html/1.php
    
    <?php
    phpinfo();

    启动 php-fpm 和 nginx 并验证安装正确

    /etc/init.d/nginx start
    /etc/init.d/php8.2-fpm start
    
    curl localhost/1.php
    # 如果能看到很多的大量输出,说明php和nginx正确安装了。

    安装 mysql 8

    apt install mysql-server-8.0 mysql-client-8.0
    
    
    
    # 查看初始密码:
    grep 'temporary password' /var/log/mysqld.log
    
    # 用查看到的密码进入mysql 的 shell
    mysql -uroot -p

    下面,整套设置新用户流程,先改初始,再加新用户并授权,再删除老用户。

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'tb4Wn3BthR.';
    flush privileges;
    
    create user 'root'@'%' identified by 'root1234';
    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root1234';
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
    drop user root@localhost;
    flush privileges;

    退出 shell,重新进入。

    现在就可以直接进入 shell

    mysql -uroot -proot1234
    
    # 这句话查看用户的加密方式。
    select user, host, plugin from mysql.user\G;
    
    # plugin: caching_sha2_password 表示老的MySQL客户端无法连接!

    安装 redis 6 以及其他常用库

    说明,安装 redis 7 需要下二进制包编译,坚决不编译,所以没搞。

    curl -fsSL https://packages.redis.io/gpg | gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
    
    echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | tee /etc/apt/sources.list.d/redis.list
    
    apt-get update
    
    apt-get install redis-stack-server

    注意和上面版本不同,如想安装 redis5

    如想redis5,啥源都不需要,直接

    apt install redis-server

    总结

    感谢阿里云镜像库,但是速度不是太快。

    推荐学习:《PHP视频教程

    以上就是教你最快速度安装php8.2套件(ubuntu 20.04 focal)的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:learnku,如有侵犯,请联系admin@php.cn删除
    专题推荐:php8.2
    上一篇:浅谈PHP 8.2的更新进展 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 浅析PHP8.0特性:Named Parameter(命名参数)• 图文详解apache2.4+php8.0的安装配置方法• PHP8.2发布了,快来看看有什么改动!• PHP8.3要有新函数了!(json_validate函数说明)
    1/1

    PHP中文网