代码:
echo 'Now: '. date('Y-m-d') ."\n";
结果:
Now: 0000-10-15
solaris服务器,通过date命令返回结果
2009年10月15日 星期四 10时34分26秒 CST
环境变量tz=RPC
请问如何解决?谢谢。
11 个解决方案
#1
程序没错,多半是你环境的问题拉
#2
我也认为是环境问题,检查环境了,现在也不清楚哪出问题,请知道的指导一下,谢谢。
#3
http://hi.baidu.com/hero0524/blog/item/80afc38e68945be7f11f3659.html
是不是这个??
是不是这个??
#4
我的时间是对的,是年份始终为“0000”
#5
你的什么操作系统?系统中日期的格式是什么样?
#6
拿strace跟踪一下系统调用,看看系统调用是否正确
#7
solaris服务器,通过date命令返回结果
2009年10月15日 星期四 10时34分26秒 CST
#8
报歉,我还不太会用,您能稍详细一点嘛?
#9
strace php -r 'echo date("Y-m-d")."\n";' 2> log
vim log
搜索所有的time系统调用
/^time
1. 检查time系统调用返回值是否正确。
2. 返回值如果正确,检查时区设置。
3. 如果以上都没问题,要跟踪php了。
下载一份对应版本的php的源码,修改ext/date/php_date.c中定义的date函数,
把每一步操作的结果输出到一个文件,然后编译php,用编译后的php运行上面的代码,
看看错误发生在哪个环节
你也可以用gdb调试,指定那个函数的入口添加一个breakpoint
vim log
搜索所有的time系统调用
/^time
1. 检查time系统调用返回值是否正确。
2. 返回值如果正确,检查时区设置。
3. 如果以上都没问题,要跟踪php了。
下载一份对应版本的php的源码,修改ext/date/php_date.c中定义的date函数,
把每一步操作的结果输出到一个文件,然后编译php,用编译后的php运行上面的代码,
看看错误发生在哪个环节
你也可以用gdb调试,指定那个函数的入口添加一个breakpoint
#10
网络上发现是php的bug,只有5.2.10 在Solaris Sparc version 9上有这问题。请参看
Also, seeing this after upgrading from 5.2.9 to 5.2.10.
On Solaris Sparc version 9.
<?=date(Y); ?>
returns 0000 on 5.2.10
and returns 2009 as expected on 5.2.9
转自:
http://bugs.php.net/bug.php?id=48276
不过我还是学习下strace怎么用,感谢。
#11
看来php还是在Linux下问题少一些,反馈bug的人也多一些
在AIX下,php5.2.9也有一些问题,不改源码编译都编译不过去
在AIX下,php5.2.9也有一些问题,不改源码编译都编译不过去
#1
程序没错,多半是你环境的问题拉
#2
我也认为是环境问题,检查环境了,现在也不清楚哪出问题,请知道的指导一下,谢谢。
#3
http://hi.baidu.com/hero0524/blog/item/80afc38e68945be7f11f3659.html
是不是这个??
是不是这个??
#4
我的时间是对的,是年份始终为“0000”
#5
你的什么操作系统?系统中日期的格式是什么样?
#6
拿strace跟踪一下系统调用,看看系统调用是否正确
#7
solaris服务器,通过date命令返回结果
2009年10月15日 星期四 10时34分26秒 CST
#8
报歉,我还不太会用,您能稍详细一点嘛?
#9
strace php -r 'echo date("Y-m-d")."\n";' 2> log
vim log
搜索所有的time系统调用
/^time
1. 检查time系统调用返回值是否正确。
2. 返回值如果正确,检查时区设置。
3. 如果以上都没问题,要跟踪php了。
下载一份对应版本的php的源码,修改ext/date/php_date.c中定义的date函数,
把每一步操作的结果输出到一个文件,然后编译php,用编译后的php运行上面的代码,
看看错误发生在哪个环节
你也可以用gdb调试,指定那个函数的入口添加一个breakpoint
vim log
搜索所有的time系统调用
/^time
1. 检查time系统调用返回值是否正确。
2. 返回值如果正确,检查时区设置。
3. 如果以上都没问题,要跟踪php了。
下载一份对应版本的php的源码,修改ext/date/php_date.c中定义的date函数,
把每一步操作的结果输出到一个文件,然后编译php,用编译后的php运行上面的代码,
看看错误发生在哪个环节
你也可以用gdb调试,指定那个函数的入口添加一个breakpoint
#10
网络上发现是php的bug,只有5.2.10 在Solaris Sparc version 9上有这问题。请参看
Also, seeing this after upgrading from 5.2.9 to 5.2.10.
On Solaris Sparc version 9.
<?=date(Y); ?>
returns 0000 on 5.2.10
and returns 2009 as expected on 5.2.9
转自:
http://bugs.php.net/bug.php?id=48276
不过我还是学习下strace怎么用,感谢。
#11
看来php还是在Linux下问题少一些,反馈bug的人也多一些
在AIX下,php5.2.9也有一些问题,不改源码编译都编译不过去
在AIX下,php5.2.9也有一些问题,不改源码编译都编译不过去