错误:可用 Erro na Linha:#3274 :: date_default_timezone_get():依靠系统的时区设置是不安全的。您必需使用date.timezone设置或date_default_timezone_set()函数。如果您使用了这些方法中的任何一种并且仍然收到此警告,则很可能拼错了时区标识符。我们现在选择了时区'UTC',但请设置date.timezone以选择您的时区。 C:\的appserv \ WWW \类\ phpmailer.class.php Erro no envio do e-mail:SMTP connect()失败。
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');
}
答案 0 :(得分:0)
您应该首先使用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
来电,但它从未设置为开始。
答案 1 :(得分:0)
PHP没有设置默认时区。
在使用PHPMailer(或任何使用时区的类)之前,您应该通过在PHP.INI中设置date.timezone来配置PHP
[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"