记录一次PHP启动失败
手动编译安装 Libsodium 库,解决 PHP启动失败。

问题

在部署一个站点时,在安装了 PHP 7.4 的情况下安装 PHP 8.2,然而安装完成后启动报错。

具体报错内容如下:

1/www/server/php/82/sbin/php-fpm: symbol lookup error: /www/server/php/82/sbin/php-fpm:undefined symbol: crypto_pwhash_scryptsalsa208sha256_opslimit_interactive

解决

直接谷歌搜索报错内容,发现宝塔面板论坛有相关问题:php无法启动的N种常见错误解决教程 情况七,给出的解决办法是重新编译安装,然而编译安装后仍未解决(也有成功的,可以先试试)。CSDN 也有相关问题,并在 Serverfault找到了解决方法,来源在文末。

方法就是重新编译安装 libsodium

具体步骤如下:

  1. 删除 usr/local/lib目录下相关 libsodium文件
  2. 下载 tar 包,并解压
1wget <https://download.libsodium.org/libsodium/releases/libsodium-1.0.19-stable.tar.gz>
2# 建议稳定版 <https://download.libsodium.org/libsodium/releases/>
3tar -zxvf libsodium-1.0.19-stable.tar.gz
  1. 编译安装
1cd ./libsodium-stable
2./configure
3make && make check
4sudo make install

完成后即可成功启动。

参考


最后修改于 2024-01-26