PHP应用默认时区设置疑问:书中仅选修改php.ini是否正确?
PHP默认时区设置的正确选项解析
嘿,这个问题我太清楚了!先给你明确结论:你说的没错,那本书的答案确实有误,正确答案应该是A和C。下面给你逐个拆解每个选项的有效性:
选项A:修改php.ini文件配置时区
这是最经典的全局设置方式,在php.ini里找到date.timezone配置项,设置为目标时区(比如Europe/Edinburgh)后,所有PHP脚本都会默认使用这个时区,生效范围覆盖整个PHP环境,完全有效。选项B:在PHP中调用Linux的time()命令
这个选项完全不成立。首先,Linux的time命令是用来统计程序运行耗时的工具,和时区设置毫无关系;其次,PHP自带的time()函数返回的是UTC时间戳,本身不涉及时区转换,所以不管哪种方式,都没法完成时区设置,这个选项可以直接排除。选项C:执行代码
ini_set('date.timezone', 'Europe/Edinburgh');
这是完全有效的运行时设置方式。ini_set()函数的作用就是在当前脚本的执行过程中临时修改PHP配置,只要在调用任何日期时间函数前执行这段代码,后续的date()、strtotime()等函数都会使用你设置的时区。唯一需要注意的是,这个设置只对当前脚本的生命周期有效,不会影响其他脚本或者全局配置,但确实是合法的时区设置方法。
所以综合来看,正确的选项是A和C,那本书的答案漏选了C,是错误的。
内容的提问来源于stack exchange,提问作者user9718914
相关产品推荐
相关产品推荐

