如何在Azure Websites中配置PHP从而改变系统默认时区

Azure Website为我们提供了可高度扩展的网站部署平台。由于Website是PaaS(平台即服务)层的服务,当用户把原有的PHP网站迁移到Azure Websites时,有一些配置方法与传统的方法不同。例如,在Azure Websites中,我们访问不到运行PHP引擎的服务器,也不能访问php.ini文件。

Azure websites提供的运行环境中,默认时区是UTC时间。对于中国区域的客户,我们往往希望通过date对象,直接得到GMT+8的时区。这时,我们需要在PHP应用的根目录下,创建.user.ini文件,并在其中指明:

date.timezone=Asia/Chongqing

注意:添加.user.ini文件后,要重启Azure Websites。

这样,如果我们的PHP源代码如下:

<html>
<head> <title>PHP Demo page</title>
</head>
<body>
    <?php
echo date("r");
?>
</body>
</html>

上面的代码会得到下面的页面输出:

另:
一般来说,php.ini文件中的配置信息,只要不是System级别的配置项,我们都可以通过.user.ini文件来在应用程序的作用域里修改。这里(https://php.net/manual/en/ini.list.php) 是php.ini的配置项列表和作用级别。