本地新装 Ubuntu 系统,安装 PHP 环境,无法执行 PHP 命令

系统信息:ubuntu 18.04 LTS

  1. 执行apt命令安装php7.2、php-fpm,以及他们的依赖
    sudo apt install -y php7.2-fpm
  2. 运行php -v报错
    php7.2: symbol lookup error: php7.2: undefined symbol: crypto_pwhash_scryptsalsa208sha256_memlimit_interactive

尝试过重启电脑,用本地用户执行php -v有效,但切换到root用户又会同样报错

感恩!

最佳答案

具体原因还没搞懂,实在受不了,我重装系统解决了

4年前 评论
讨论数量: 6

sudo apt install -y php7.2-*

4年前 评论

@NiZerin

执行 sudo apt install -y php7.2-*

报错:

The following packages have unmet dependencies:
 php-apcu : Conflicts: php-yac but 2.0.1+0.9.2-1build2 is to be installed
 php-yac : Conflicts: php-apcu but 5.1.9+4.0.11-1build1 is to be installed
           Conflicts: php-user-cache
E: Unable to correct problems, you have held broken packages.

系统提示包有冲突,是我的镜像源有问题吗

4年前 评论

@yuanjw 先执行 sudo apt uninstall -y php-* 再试试

4年前 评论
yuanjw (楼主) 4年前

具体原因还没搞懂,实在受不了,我重装系统解决了

4年前 评论

路过,昨天也遇到了同样的问题,后来发现其实是系统多版本php存在的问题,你php -v没问题,你找到此php的绝对路径,比如/usr/local/php/bin/php -v,然后你sudo /usr/local/php/bin/php -v肯定也没问题,之所以sudo php -v有问题是因为sudo的时候php链接到别的地方去了(而这个地方是需要root权限的,所以php -v不会找到这个地方),你在root权限下看一下php在什么地方,最后解决方案可以把非root权限下的php链接到同样的php下比如sudo update-alternatives –install /usr/bin/php php /usr/local/php/bin/php 300(其中/usr/bin/php是root权限下报错的php路径),然后使用sudo update-alternatives –config php配置或确认php版本

3年前 评论

刚刚遇到了,在stack中找到了答案,手动安装了Libsodium library

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!