错误:可用Erro na Linha: #3274 :: date_default_timezone_get((: 依赖系统的时区设置是不安全的。您需要使用 date.timezone 设置或 date_default_timezone_set(( 函数。如果您使用了其中任何一种方法,但仍然收到此警告,则很可能拼写错了时区标识符。我们目前选择了时区"UTC",但请设置 date.timezone 以选择您的时区。C:\AppServ\www\class\phpmailer.class.phpErro no envio do e-mail: SMTP connect(( failed.
public static function rfcDate()
{
// Set the time zone to whatever the default is to avoid 500 errors
// Will default to UTC if it's not set properly in php.ini
date_default_timezone_set(@date_default_timezone_get());
return date('D, j M Y H:i:s O');
}
PHP 没有设置默认时区。
在使用 PHPMailer(或任何使用时区的类(之前,您应该通过在 PHP 中设置 date.timezone 来配置 PHP。.INI
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = 'Australia/Sydney'
或者通过在 yout 代码中调用 date_default_timezone_set(( 函数(在 PHPMailer 之前(
date_default_timezone_set('Australia/Sydney');
或者在 Apache 的配置文件中(我的首选方法(
# Timezone and other stuff for PHP
php_value date.timezone "Australia/Sydney"
您应该首先使用 date_default_timezone_set
来设置默认时区,然后使用 date_default_timezone_get
.
date_default_timezone_set — 设置所有人使用的默认时区 脚本中的日期/时间函数
date_default_timezone_get — 获取所有人使用的默认时区 脚本中的日期/时间函数
一个例子是:
date_default_timezone_set('America/Los_Angeles');
$x= date_default_timezone_get(); // 'America/Los_Angeles'
您当前正在做的是尝试请求默认时区,以便将其值用于date_default_timezone_set
呼叫,但从未将其设置为开始。