gpt4 book ai didi

PHP 问题 - 设置时区时出现安全模式错误

转载 作者:行者123 更新时间:2023-12-04 06:46:22 24 4
gpt4 key购买 nike

我正在尝试安装 PHP application在我的服务器上。但是我收到了这个错误:

Warning: putenv() [function.putenv]: Safe Mode warning: Cannot set environment variable 'PHP_TZ' - it's not in the allowed list in .../public/timezone.inc on line 14

我找到了有问题的文件和代码部分(如下)。我将如何修复此代码? PHP_TZ 应该做什么?为什么 PHP 不喜欢它?我能做什么呢?

//set the timezone
if ($configdata["timezone"] != "") {
putenv("PHP_TZ=" . stripslashes($configdata["timezone"]));
putenv("TZ=" . stripslashes($configdata["timezone"]));

//for >= PHP 5.1
if(function_exists("date_default_timezone_set")) {
date_default_timezone_set($configdata["timezone"]);
}

我使用的是 PHP 5.2.10。我尝试了 'Europe/Zurich' 和 'UTC' 来获取 $configdata["timezone"] 的值,但两者都出现了相同的错误。

最佳答案

PHP_TZ 代表 PHP 时区。

从5.1版本开始你需要通过date_default_timezone_set来设置它函数或来自您的 PHP 配置。来自文档:

Note:

Since PHP 5.1.0 (when the date/time functions were rewritten), every call to a date/time function will generate a E_NOTICE if the timezone isn't valid, and/or a E_WARNING message if using the system settings or the TZ environment variable.

您可以执行以下最简单的修复。

//set the timezone
if ($configdata["timezone"] != "") {
//for >= PHP 5.1
if(function_exists("date_default_timezone_set")) {
date_default_timezone_set($configdata["timezone"]);
// for PHP < 5.1
} else {
putenv("PHP_TZ=" . stripslashes($configdata["timezone"]));
putenv("TZ=" . stripslashes($configdata["timezone"]));
}
}

关于PHP 问题 - 设置时区时出现安全模式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3723209/

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