2017-06-17 18 views
0

エラー:利用可能 エラー:#3274 :: date_default_timezone_get():システムのタイムゾーン設定に頼っても安全ではありません。 date.timezone設定またはdate_default_timezone_set()関数を使用するにはが必要です。です。これらの方法のいずれかを使用していて、まだこの警告が表示されている場合は、おそらくタイムゾーン識別子のスペルが間違っている可能性があります。今はタイムゾーン 'UTC'を選択しましたが、date.timezoneを設定してタイムゾーンを選択してください。 C:¥AppServ¥www¥class¥phpmailer.class.php 電子メールを送信できませんでした:SMTP connect()が失敗しました。あなたが最初のデフォルトタイムゾーンを設定し、 date_default_timezone_getを使用して、それを取得するためにdate_default_timezone_setを使用する必要がありますPHPMailer date_default_timezone_get():システムのタイムゾーン設定に頼るのは安全ではありません

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

PHPにはデフォルトのタイムゾーンが設定されていません。

phpmailerのを使用して(またはタイムゾーンを使用する任意のクラス)あなたは、php.ini

[Date] 
; Defines the default timezone used by the date functions 
; http://php.net/date.timezone 
date.timezone = 'Australia/Sydney' 

にdate.timezoneでを設定することにより、または(YOUTコードでdate_default_timezone_set()関数を呼び出すことにより、PHPを設定する必要があります前に、 phpmailerの前)

date_default_timezone_set('Australia/Sydney'); 

またはApacheの設定ファイルで(私の好ましい方法)

# Timezone and other stuff for PHP 
php_value date.timezone "Australia/Sydney" 
0

date_default_timezone_set — Sets the default timezone used by all date/time functions in a script

date_default_timezone_get — Gets the default timezone used by all date/time functions in a script

例は次のとおりです。

date_default_timezone_setコールのためにその値を使用するためには、デフォルトのタイムゾーンを要求しようとしているが、それはそもそも設定されていなかったあなたが現在行っている
date_default_timezone_set('America/Los_Angeles'); 

$x= date_default_timezone_get(); // 'America/Los_Angeles' 

+0

質問のコードはユーザーコードではありません。これはPHPMailerの一部ですが、この回答も正しいです。 – geekasylum

関連する問題