php 中的时间为啥慢8个小时

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 中的时间为啥慢8个小时相关的知识,希望对你有一定的参考价值。

$showtime=mktime(); 我是这样将系统时间赋值给一个函数的,但是我
ECHO “ $showtime"; 显示的时间为什么比系统时间慢8个小时,这是怎么回事,谁帮我解决一下。不要让我修改php.ini文件改了也不行。 谢谢大侠。

从php5.1.0开始,php.ini里加入了date.timezone这个选项,默认情况下是关闭的 。

也就是显示的时间(无论用什么php命令)都是格林威治标准时间

和我们的时间(北京时间)差了正好8个小时,有以下3中方法可以恢复正常的时间。

1,最简单的方法就是不要用php5.1以上的版本

2,如果一定要用,而且不能修改php.ini,则需要在关于时间的初始化的语句的
上面加上 date_default_timezone_set (XXX);

3,一劳永逸,仅限能修改php.ini。打开php.ini查找date.timezone 去掉前面的分号
= 后面加XXX,重启http服务(如apache2或iis等)即可

关于XXX,大陆内地可用的值是:Asia/Chongqing ,Asia/Shanghai ,Asia/Urumqi (依次为重庆,上海,乌鲁木齐)
港台地区可用:Asia/Macao ,Asia/Hong_Kong ,Asia/Taipei (依次为澳门,香港,台北)
还有新加坡:Asia/Singapore
老外好像把北京漏调了
其他可用的值是:Etc/GMT-8 ,Singapore ,Hongkong ,PRC
PRC是什么?PRC是中华人民共和国啊-_-
以上都是我从php官方说明档里整理出来的GMT-8下面的地区,可能会有遗漏
参考技术A 需要设置时区,你可以之前加上这句:
date_default_timezone_set('PRC');本回答被提问者采纳
参考技术B 1L已经回答了 参考技术C 时区。

为啥我在上网几个小时后收到 503 错误?节点/快递

【中文标题】为啥我在上网几个小时后收到 503 错误?节点/快递【英文标题】:Why am I getting 503 error after some hours online? node/express为什么我在上网几个小时后收到 503 错误?节点/快递 【发布时间】:2019-10-20 03:57:48 【问题描述】:

我对 node.js 很陌生,对服务器了解不多。 我制作了一个节点应用程序并使用node server.js & 在我的服务器中启动它(他在 php 中有一些其他网站,因此它需要与 apache 一起使用)。 它运行良好,并且一直运行到第二天,当我收到 503 错误时。再次使用 ssh 进入我的服务器并发现它无法正常工作,所以我再次开始使用运行 nodemon server.js & 的 nodemon。

同样的事情,几个小时后我又遇到了 503 错误。

我遵循的步骤: 1. 在 /var/www/ 中创建网站文件夹 2. 在 /etc/apache2/sites-available/ 中创建网站配置(mysite.com.conf 文件如下所示) 3. 使用e2ensite启用网站 5. 为 SLL 证书运行 cerbot 6. 重新加载 apache 7. 使用nodemon server.js > log.out & 启动应用程序

我创建了 mysite.com.conf,如下所示:

    <VirtualHost *:80>
        ServerAdmin user@MAINDOMAIN.com
        ServerName MYSITE.MAINDOMAIN.com
        ServerAlias www.MYSITE.MAINDOMAIN.com
        DocumentRoot /var/www/MYSITE.MAINDOMAIN.com/public
        ErrorLog $APACHE_LOG_DIR/error.log
        CustomLog $APACHE_LOG_DIR/access.log combined

        <Directory "/var/www/MYSITE.MAINDOMAIN.com/public">
            Options FollowSymLinks
            AllowOverride All

            Order allow,deny
            Allow from all
        </Directory>
        ProxyPass / http://127.0.0.1:7000/
        ProxyPassReverse / http://127.0.0.1:7000/
        RewriteEngine on
        RewriteCond %SERVER_NAME =MYSITE.MAINDOMAIN.COM [OR]
        RewriteCond %SERVER_NAME =www.MYSITE.MAINDOMAIN.com
        RewriteRule ^ https://%SERVER_NAME%REQUEST_URI 
        [END,NE,R=permanent]
    </VirtualHost>

我的 server.js 文件如下所示:

    const express = require('express')
    const mysql = require('mysql')
    const app = express()

    //mysql database connection here

    //some app.get() here to render pages

    const server = app.listen(7000, () => 
        console.log('Express running on port $server.address().port');
    );

我在 log.out 中收到的最后一条消息是 app crashed - waiting for file changes before starting

我怎样才能保持这个运行?我是不是做错了什么?

【问题讨论】:

github.com/remy/nodemon/issues/1221 也许有帮助? 谢谢,我会永远尝试使用 另一个要查看的选项是 pm2 【参考方案1】:

开始使用forever 和--exitcrash

【讨论】:

以上是关于php 中的时间为啥慢8个小时的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2015 社区版在线安装为啥这么慢

为啥我在php中用date()函数获取的时间老师与我电脑上显示的差8小时?

为啥我在php中用date()函数获取的时间老师与我电脑上显示的差8小时?

PHP - 为啥新的 SQLSRV 驱动程序比旧的 mssql 驱动程序慢?

liunx tomcat(java new Date)服务时间比系统时间慢8个小时,刚起完服务时间是正常的,隔一天就变了

MySQL5.7慢查询日志时间与系统时间差8小时原因