Я разработал несколько php-страниц в среде XAMPP, и он отлично работал, но когда я переместил его на производственный сервер (ubuntu 10.04 apache2), появились две страницы, которые бросали ошибку.PHP-сайт ERROR 500
Я добавил скрипт отчет об ошибке, и это то, что я получил
Warning: require_once(Mail.php): failed to open stream: No such file or directory in /var/www/globalgoal/include/signallogic.php on line 2 Fatal error: require_once(): Failed opening required 'Mail.php' (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/globalgoal/include/signallogic.php on line 2
Я установил пакет PEAR в Ubuntu Server.
Это фактический код:
<?php
require_once "Mail.php";
function mailing($context, $user) // Email Notification function
{
$w = date('W')-1;
$leader=array();
$con=mysqli_connect("10.9.245.211","root","password","qa");
$sql="SELECT firstname, lastname, access_id FROM user where username = '$user' ";
$result=mysqli_query($con,$sql);
while($row = mysqli_fetch_array($result))
{
$access_id= $row['access_id'];
$firstname= $row['firstname'];
$lastname= $row['lastname'];
}
$name=$firstname . " " . $lastname;// Analyst name
// Get the initiative lead name
$sql="SELECT firstname, lastname, email FROM user where access_id = $access_id and leader=1 ";
$result=mysqli_query($con,$sql);
while($row = mysqli_fetch_array($result))
{
array_push($leader,$row['email']);
}
$leaderemail="";
for($i=0;$i< count($leader);$i++)
{
$leaderemail .=$leader[$i] . " , ";
}
$leaderemail=str_replace(",",">, <",$leaderemail);
$from = [email protected];
$to = [email protected];
$subject = "Weekly Analyst Inputs - Week " . $w ;
$body = "Hi,<br/><br/>Thank you so much for inputting numbers for week " . $w . ".<br/><br/> These numbers were successfully submitted by <b>" . $name . "</b><br/><br/>" . $context ;
$host = "used corp details"; // SMTP server for eBay email
$username = ""; // No Auth
$password = "";
$MIME="1.0";
$type="text/html; charset=iso-8859-1";
// =================No need to modify below===================
$headers = array ('From' => $from,
'To' => $to,
'Subject' => $subject,
'MIME-VERSION'=>$MIME,
'Content-Type'=>$type
);
$smtp = @Mail::factory('smtp',
array ('host' => $host,
'auth' => false,
'username' => $username,
'password' => $password));
$mail = @$smtp->send($to, $headers, $body);
if (@PEAR::isError($mail)) {
echo("<p>" . $mail->getMessage() . "</p>");
} else {
echo("<p>The input results are successfully sent to the initiative lead analysts.</p>");
Вы проверили, что все файлы, которые вы включаете или иным образом используете в своем коде, верны? Помните, что Windows является ** не ** чувствительной к регистру, а Ubuntu. 'Mail.php' отличается от' mail.php'. Включение отчетов об ошибках было бы полезно, если бы вы просто получили ошибку 500 – 3ventic
Ошибка в значительной степени понятна - посмотрите, есть ли 'Mail.php' в'/var/www/globalgoal/include' или нет. – moonwave99
Теперь я вижу страницу, но функция рассылки не работает. – sai