PHP时区邮件错误


PHP wrong timezone mail

我的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
    }
?>

这是php.ini的错误配置
在php.ini中,搜索:

; date.timezone

替换whit:

date.timezone = America/New_York

并重新启动apache

支持的时区列表:
http://www.php.net/manual/en/timezones.php

编辑:在htaccess中,时区应该以这种方式使用:

php_value date.timezone "Europe/Brussels"

阅读以下内容:-

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');