如何为 php8.0 安装 php8.0-mbstring?它一直安装到 php7.2

如何为 php8.0 安装 php8.0-mbstring?它一直安装到 php7.2

我正在尝试安装 Laravel。我在 Ubuntu 18.04.5 LTS 上,有 php 8.0.2,并运行 Apache2。我的问题是我无法安装 Laravel,因为它一直给出错误,说我没有“mbstring”扩展。

当我执行命令时

sudo apt update

sudo apt install php-mbstring

它们被安装到 /etc/php/7.2/mods-available。Laravel 正在 /etc/php/8.0/ 中寻找扩展。我还尝试安装最新版本的 mbstring:

sudo apt install php8.0-mbstring

但出现错误

Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package php8.0-mbstring
E: Couldn't find any package by glob 'php8.0-mbstring'
E: Couldn't find any package by regex 'php8.0-mbstring'

有人能帮我解决这个问题吗?为什么 mbstring 没有安装到 php8.0,为什么我不能为 8.0 安装 mbstring?我在网上搜索并找到了为 8.0 安装 mbstring 的指南和这个特定的命令,但我看不到那个扩展。

答案1

感谢 Michal Przybylowicz 的评论,我明白了这一点。

该网站的存储库:https://launchpad.net/~ondrej/+archive/ubuntu/php需要添加到 Ubuntu 的软件包系统中。该网站列出了要执行的命令:

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update

我也做了:

sudo add-apt-repository ppa:ondrej/apache2

因为我运行的是 apache2。之后 Laravel 说我也需要 'dom' 扩展。解决方法如下:

sudo apt install php8.0-dom

之后 Laravel 终于安装好了!谢谢 Michal!

答案2

经过 4 个小时的尝试后,@kush 解决方案对我来说非常有效。

显然,如果您收到以下错误,它也可以起作用:

卷曲

PHP 警告:PHP 启动:无法加载动态库“curl”(已尝试:/usr/lib/php/20200930/curl(/usr/lib/php/20200930/curl:无法打开共享对象文件:没有此文件或目录),/usr/lib/php/20200930/curl.so(/usr/lib/php/20200930/curl.so:无法打开共享对象文件:没有此文件或目录))位于未知的第 0 行

sudo apt install php8.0-curl或者sudo apt install php[your-version]-curl

字符串

PHP 警告:PHP 启动:无法加载动态库“mbstring”(已尝试:/usr/lib/php/20200930/mbstring(/usr/lib/php/20200930/mbstring:无法打开共享对象文件:没有此文件或目录)

sudo apt install php8.0-mbstring或者sudo apt install php[your-version]-mbstring

相关内容