gpt4 book ai didi

php - 将 mbstring 添加到 laravel 5 应用程序的 docker 图像

转载 作者:行者123 更新时间:2023-12-02 18:11:45 28 4
gpt4 key购买 nike

我是 docker 的新手,我正在尝试设置它以便与 Laravel 5.1 一起运行。我目前收到以下错误

Call to undefined function Illuminate\Foundation\Bootstrap\mb_internal_encoding() in /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/LoadConfiguration.php:43

我相信这是因为 mbstring未安装 php 扩展。我试图添加 php-mbstring到 Docker 文件,但它似乎不起作用。

这是我的完整 Docker 文件
FROM php:5.6.30-fpm

RUN apt-get update && apt-get install -y libmcrypt-dev \
mysql-client libmagickwand-dev --no-install-recommends \
&& pecl install imagick \
&& docker-php-ext-install mcrypt pdo_mysql \
&& docker-php-ext-install php-mbstring

然后我正在运行 sudo docker compose up从应用程序文件夹。但这似乎并没有解决错误。我如何知道扩展是否正确安装?

编辑:我在下面包含了 docker-compose.yml 文件
version: '2'
services:

# The Application
app:
build:
context: ./
dockerfile: app.dockerfile
working_dir: /var/www
volumes:
- ./:/var/www
environment:
- "DB_PORT=3306"
- "DB_HOST=database"

# The Web Server
web:
build:
context: ./
dockerfile: web.dockerfile
working_dir: /var/www
volumes_from:
- app
ports:
- 8080:80

# The Database
database:
image: mysql:5.6
volumes:
- dbdata:/var/lib/mysql
environment:
- "MYSQL_DATABASE=homestead"
- "MYSQL_USER=homestead"
- "MYSQL_PASSWORD=secret"
- "MYSQL_ROOT_PASSWORD=secret"
ports:
- "33061:3306"

volumes:
dbdata:

最佳答案

删除 php-前缀,它应该可以正常工作。您也可以在之前的 docker-php-ext-install 上运行它命令:
docker-php-ext-install mcrypt pdo_mysql mbstring

关于php - 将 mbstring 添加到 laravel 5 应用程序的 docker 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44206147/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com