1. 更新系统

    apt update
    apt upgrade -y
    
  2. 安装工具

    apt install -y lsb-release apt-transport-https ca-certificates wget
    
  3. 下载源

    wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
    
  4. 添加源

    echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php.list
    
  5. 再次更新

    apt update
    
  6. 开始安装PHP及其必要的扩展

    apt install php8.2 php8.2-dev php8.2-mbstring php8.2-mysql php8.2-gd php8.2-redis php8.2-curl php8.2-xml php8.2-bcmath php8.2-imagick php8.2-sqlite3 php8.2-intl
    
  7. 卸载apache(本人用的是nginx)
    找出apache2的所有关联软件通过下面命令进行删除

    apt-get --purge remove apache2
    apt-get --purge remove apache2-bin
    apt autoremove
    dpkg -l | grep apache2
    
  8. 调整nginx中关于php-fpm.sock的名称
    在配置文件/etc/php/8.2/fpm/pool.d/www.conf中可以找到listen参数的值,如下

    listen = /run/php/php8.2-fpm.sock

    将nginx中fastcgi_pass参数更改为这个参数的值

  9. 安装SQLServer的支持(非必需
    进入Microsoft的Github页面,找到适合版本的【Install】项,这里提供了安装命令

    apt install unixodbc-dev
    pecl install sqlsrv-5.11.0
    pecl install pdo_sqlsrv-5.11.0

    也可以直接下载编译好的类库,选择nts格式的类库复制到 php 类库目录,例如我的类库目录是/usr/lib/php/20220829
    根据提示在/etc/php/8.2/mods-available目录创建两个ini文件:

    1. sqlsrv.ini内容

      extension=sqlsrv.so
    2. pdo_sqlsrv.ini内容

      extension=pdo_sqlsrv.so

    然后将刚刚生成的两个类库配置文件链接到这个目录

    ln -s /etc/php/8.2/mods-available/sqlsrv.ini /etc/php/8.2/fpm/conf.d/sqlsrv.ini
    ln -s /etc/php/8.2/mods-available/pdo_sqlsrv.ini /etc/php/8.2/fpm/conf.d/pdo_sqlsrv.ini

    安装系统对于 SQLServer 支持的驱动
    Github的Readme页面中Prerequisites提到了需要Microsoft ODBC Driver 18, 17 or 13,点击下载 ODBC 驱动程序进入具体的详情页面,选择对应的系统,如Debian,根据里面提示的版本进行对应命令的操作。

    Debian 10

    curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -

    Debian 11

    curl https://packages.microsoft.com/config/debian/11/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list

    或者

    curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
    

    然后更新

    apt-get update
    ACCEPT_EULA=Y apt-get install -y msodbcsql18
    ACCEPT_EULA=Y apt-get install -y mssql-tools18
    echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
    source ~/.bashrc
    apt-get install -y unixodbc-dev
    apt-get install -y libgssapi-krb5-2