当php.ini中的date.timezone被注释掉时,它给了我:
遇到PHP错误
严重性:警告
消息:main():依赖系统的时区设置是不安全的.您需要使用date.timezone设置或date_default_timezone_set()函数.如果您使用了这些方法中的任何一种并且仍然收到此警告,则很可能拼错了时区标识符.我们选择'America/Los_Angeles'作为'-8.0/no DST'
文件名:controllers/helloworld.php
行号:2
当我有
date.timezone = "America/Los_Angeles"
Run Code Online (Sandbox Code Playgroud)
它给了我这个:
服务器错误网站在检索http://localhost/ci/index.php/helloworld时遇到错误 .它可能已关闭以进行维护或配置不正确.以下是一些建议:稍后重新加载此网页.HTTP错误500(内部服务器错误):服务器尝试完成请求时遇到意外情况.
我使用的是php5.3,代码点火器2.0.0和Apache2.2.任何人都有这个问题吗?
更新1:我尝试加载没有代码点火器的test.php,其中test.php的前3行是
date_default_timezone_set('America/Los_Angeles');
echo date("l j \of F Y h:i:s A");
Run Code Online (Sandbox Code Playgroud)
它工作正常,不同的时区也可以正常工作.所以我怀疑问题来自代码点火器......任何人在这里使用代码点火器?
我的项目托管在共享服务器上,我想将时区更改为Asia/Kolkata.我尝试使用htaccess文件设置时区但失败了.
刚刚意识到为什么我的网站现在显示所有日期时间变量为-1小时......我第一次使用Codeigniter!(之前没遇到过这个问题)
所以,我在我的主index.php文件中包含了以下代码
/*
|---------------------------------------------------------------
| DEFAULT TIMEZONE
|---------------------------------------------------------------
|
| Set the default timezone for date/time functions to use if
| none is set on the server.
|
*/
if( ! ini_get('date.timezone') )
{
date_default_timezone_set('GMT');
}
Run Code Online (Sandbox Code Playgroud)
但是,它仍然显示为-1小时,所以我假设我需要为MySQL设置某种默认设置...
我在我的模型中包含以下代码行:
function __construct()
{
// Call the Model constructor
parent::__construct();
$this->db->query("SET time_zone='+0:00'");
}
Run Code Online (Sandbox Code Playgroud)
仍然没有区别......帮助!
我的代码是:
<h3><?=date('D, jS F @ g:ia', strtotime($row->datetime))?></h3>
Run Code Online (Sandbox Code Playgroud)
$ row-> datetime变量只不过是MySQL数据库中的DATETIME列值.视图中的回显变量总是比我数据库中的值小1小时...
我的型号代码是:
function coming_up()
{
$this->db->query("SET time_zone='+0:00'");
$query = $this->db->query('SELECT * FROM events1 WHERE datetime >= NOW() ORDER BY datetime …Run Code Online (Sandbox Code Playgroud) 哪个是在Codeigniter中设置时区的更好方法?我在index.php中试过这个
date_default_timezone_set("Asia/Kolkata");
可能吗?