Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php gettext扩展在我的本地主机上工作,但在我的主机上不工作_Php_Hosting_Gettext - Fatal编程技术网

Php gettext扩展在我的本地主机上工作,但在我的主机上不工作

Php gettext扩展在我的本地主机上工作,但在我的主机上不工作,php,hosting,gettext,Php,Hosting,Gettext,我在本地主机中尝试了php gettext,一切都正常,但当我将文件上载到主机时,它说: Warning: putenv(): Safe Mode warning: Cannot set environment variable 'LC_ALL' - it's not in the allowed list in /www/zxq.net/w/e/e/weedcl/htdocs/localization.php on line 4 Fatal error: Call to undefined f

我在本地主机中尝试了php gettext,一切都正常,但当我将文件上载到主机时,它说:

Warning: putenv(): Safe Mode warning: Cannot set environment variable 'LC_ALL' - it's not in the allowed list in /www/zxq.net/w/e/e/weedcl/htdocs/localization.php on line 4 Fatal error: Call to undefined function bindtextdomain() in /www/zxq.net/w/e/e/weedcl/htdocs/localization.php on line 6
我使用的是免费托管服务(这与它是免费的吗?)

My本地化.php

<?php
$locale = "de_DE";
if (isSet($_GET["locale"])) $locale = $_GET["locale"];
putenv("LC_ALL=$locale");
setlocale(LC_ALL, $locale);
bindtextdomain("messages", "./locale");
bind_textdomain_codeset("messages", 'UTF-8');
textdomain("messages");
?>

我正在使用免费的主机服务Zymic(这与它是免费的吗?)

可能吧。它已启用安全模式,您无法更改LC\U ALL环境变量。在每台启用了安全模式的主机上,您都会遇到此类问题,而大多数免费主机都是这样

尝试删除putenv()调用,然后看看会发生什么

我正在使用免费的主机服务Zymic(这与它是免费的吗?)

可能吧。它已启用安全模式,您无法更改LC\U ALL环境变量。在每台启用了安全模式的主机上,您都会遇到此类问题,而大多数免费主机都是这样


请尝试删除putenv()调用,然后看看会发生什么。

第一个问题是您收到的警告消息,这表明该消息已被启用——当您使用某个共享主机服务时,这种情况太常见了

当启用
safe_mode
时,您不能设置任何类型的环境变量:您可以使用的唯一环境变量是名称以中列出的内容开头的变量


LC
可能不是允许的前缀;这意味着你不能这样做:

putenv("LC_ALL=$locale");
这行代码没有用,你可能想把它删除--这至少会让警告消失


在这之后,您有一个第二个问题:该函数不存在——因此出现了
致命错误
,结束了您的脚本

该功能是由提供的功能之一,我想说的是,您的托管服务上未安装/启用此扩展

您可以检查是否正在运行包含以下内容的页面:

<?php
phpinfo();
?>

它将列出所有已安装/启用的扩展;如果gettext不是其中之一,那么不幸的是,您也无能为力


联系您的组织提供商,让他们安装该扩展将是一个好主意。。。但是有了免费的主机服务,我怀疑它是否会有帮助。。。您可能必须使用另一个托管服务(即使它的成本只有几美元/欧元…

第一个问题是您收到的警告消息,这表明该服务已启用,这在您使用某个共享托管服务时太常见了

当启用
safe_mode
时,您不能设置任何类型的环境变量:您可以使用的唯一环境变量是名称以中列出的内容开头的变量


LC
可能不是允许的前缀;这意味着你不能这样做:

putenv("LC_ALL=$locale");
这行代码没有用,你可能想把它删除--这至少会让警告消失


在这之后,您有一个第二个问题:该函数不存在——因此出现了
致命错误
,结束了您的脚本

该功能是由提供的功能之一,我想说的是,您的托管服务上未安装/启用此扩展

您可以检查是否正在运行包含以下内容的页面:

<?php
phpinfo();
?>

它将列出所有已安装/启用的扩展;如果gettext不是其中之一,那么不幸的是,您也无能为力

联系您的组织提供商,让他们安装该扩展将是一个好主意。。。但是有了免费的主机服务,我怀疑它是否会有帮助。。。您可能需要使用另一种托管服务(即使它的成本只有几美元/欧元…)