gpt4 book ai didi

docker 上的 PHP : Using setLocale

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:43:43 24 4
gpt4 key购买 nike

我正在尝试将现有的 Apache/php 站点迁移到 docker,但站点本地化存在问题。深入研究代码,问题是 setLocale 在 Docker 安装时返回 false(在现有站点上返回 true)。这是一个在现有站点上运行良好但在 Docker 安装上失败的 php 测试。

<?php
$locale = "fr_FR";
putenv("LC_ALL=$locale");
$ok = setlocale(LC_ALL, $locale);
if ($ok) {
echo "success";
} else {
echo "failure";
}
?>

这是我的 Docker 文件:

FROM php:5-apache

RUN apt-get update && apt-get install -y locales && apt-get clean
RUN locale-gen fr_FR && locale-gen zh_TW && locale-gen tr_TR && locale-gen ru_R$
RUN docker-php-ext-install gettext

RUN a2enmod rewrite && a2enmod headers

我做错了什么?

最佳答案

您需要重新配置您的语言环境:

RUN locale-gen fr_FR.UTF-8 && dpkg-reconfigure locales

您可能需要(但我不知 Prop 体是在什么情况下)将 LC_ALLLANGUAGE 环境变量添加到 /etc/environment:

LC_ALL=...
LANGUAGE=...

关于docker 上的 PHP : Using setLocale,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39309262/

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