我的主机将从PHP 5.2升级到5.4,并且我的测试时间很少。我发现了所有作品,除了我的主页上有一个触点表格。在5.2上,它发送电子邮件并给出积极的结果。在5.4上,它不会发送电子邮件,并给用户带来负面结果。对此有任何帮助。
<?php
include_once("includes/includes.inc.php");
if(isset($_POST) && (isset($_POST['contactusfrm']) == 1))
{
#print_arr($_POST);
$quotefrm = array($_POST);
$emailObj = &new eMail();
if(isset($_POST['email']) && $_POST['email']!="")
{
$emailBody = contactUs($quotefrm);
$semail = $quotefrm[0]['email'];
$contactus = $emailInfo->email;
}
$emailInfo = GetContactusEmailInfo();
$subject="Contact Us";
#echo "<br /><br /><br />".$emailBody ; die();
if ($emailObj->SendEmail($semail, $emailInfo->email , $subject , $emailBody, ""))
$contactusMessage = "Your Comments has been sent.";
else
$contactusMessage = "Error sending please re-try.";
}
?>
这是因为Call-time pass by reference
已从PHP 5.4中删除。
全列表。参见here
。
您在这条线上这样做。
$emailObj = &new eMail(); //which will issue a FATAL Error and your code execution stops here.