我正在尝试安装 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