4

PHP メールが間違った日付と時刻で送信されます。PHP時間を設定しました:

date_default_timezone_set('Europe/Brussels');  

そして私が

echo date('r'); //returns correctly: Thu, 02 Aug 2012 13:28:00 

正確な時刻を取得します。メールを送信すると、メールの日付は現在時刻 + 1 日 + 1 時間になります。

私は周りを検索して、PHP のバグなどである古いドキュメントをいくつか見つけましたが、それらは 2001 年と 2005 年の日付なので、何か間違ったことをしていると思います...メールの送信にエラーはないと思います、送信されるため、とにかくコードを投稿します。

<?php
    session_start();
    date_default_timezone_set('Europe/Brussels');
    $receiver = 'test@yourhost.com';
    $subject = 'Test';
    $message = 'This is a test';
    $receiver = $email;
    $headers = "From: me@myhost.com" . "\r\n" . "X-Mailer: PHP/" . phpversion();
    if(mail($receiver,$subject,$message,$headers)){
        //This is done
    }
?>
4

2 に答える 2

3

これは、php.ini での php.ini の設定ミスです。
検索:

; date.timezone

置き換え:

date.timezone = America/New_York

Apacheを再起動します

サポートされているタイムゾーンのリスト:
http://www.php.net/manual/en/timezones.php

編集: htaccess では、タイムゾーンは次のように使用する必要があります。

php_value date.timezone "Europe/Brussels"
于 2012-08-02T12:04:48.553 に答える
2

これを読む :-

http://php.net/manual/en/function.date-default-timezone-set.php

http://php.net/manual/en/function.date-default-timezone-get.php

また

これを試して

date_default_timezone_set( 'America/New_York' );

//また

ini_set('date.timezone', 'America/Los_Angeles');  
于 2012-08-02T11:33:09.583 に答える