Sno*_*ish 25 php datetime codeigniter
当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)
它工作正常,不同的时区也可以正常工作.所以我怀疑问题来自代码点火器......任何人在这里使用代码点火器?
Phi*_*eon 73
如果您使用Google搜索"CodeIgniter PHP 5.3",您会很快发现这篇文章:)
http://philsturgeon.co.uk/blog/2009/12/CodeIgniter-on-PHP-5.3
要解决此问题,您只需编辑CodeIgniter应用程序的主index.php:
if( ! ini_get('date.timezone') )
{
date_default_timezone_set('GMT');
}
Run Code Online (Sandbox Code Playgroud)
对于在PHP 5.3上运行的任何CodeIgniter应用程序,您可能需要进行此修改,并且可以轻松地将其修改为您当地的时区.有PHP手册支持时区的完整列表在这里.
Mav*_*elo 21
是的,如果你不能直接编辑php.ini文件,放置...
ini_set('date.timezone', 'America/New_York');
Run Code Online (Sandbox Code Playgroud)
...作为CI的第一行index.php工作正常.
参考:PHP的可用时区
写在你的index.php codeigniter中......
/*
|---------------------------------------------------------------
| TimeZone
|---------------------------------------------------------------
|
| default Time Zone
|
*/
if ( function_exists( 'date_default_timezone_set' ) )
date_default_timezone_set('Asia/Jakarta');
Run Code Online (Sandbox Code Playgroud)
在我的codeigniter中运行良好
| 归档时间: |
|
| 查看次数: |
85382 次 |
| 最近记录: |