Как проверить, установлен ли PEAR на моем сервере или нет? - PullRequest
6 голосов
/ 16 марта 2011

Я получаю сообщение об ошибке:

Предупреждение: include_once (Net / SMTP.php) [function.include-Once]: не удалось открыть поток: нет такого файла или каталога в / usr /local / lib / php / Mail / smtp.php в строке 348

Предупреждение: include_once () [function.include]: не удалось открыть файл Net / SMTP.php для включения (include_path = '.: / usr/ lib / php: / usr / local / lib / php ') в /usr/local/lib/php/Mail/smtp.php в строке 348

Фатальная ошибка: класс' Net_SMTP 'не найден в /usr / local / lib / php / Mail / smtp.php на линии 349

Мой код:

require_once 'Mail.php';

$from = "me@example.com>";

$to = "you@gmail.com>";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";

$host = "mail.example.com";

$username = "me";
$password = "test";

$headers = array ('From' => $from,
  'To' => $to,
  'Subject' => $subject);

$smtp = Mail::factory('smtp',
  array ('host' => $host,
    'auth' => true,
    'username' => $username,
    'password' => $password));
$mail = $smtp->send($to, $headers, $body);

if (PEAR::isError($mail)) {
  echo("<p>" . $mail->getMessage() . "</p>");
 } else {
  echo("<p>Message successfully sent!</p>");
 }

Ответы [ 3 ]

23 голосов
/ 16 марта 2011

если у вас есть доступ по ssh, вы можете войти и запустить

which pear

, если он установлен, он напечатает что-то вроде этого

/usr/bin/pear
13 голосов
/ 16 марта 2011

Используйте этот код

require_once 'System.php';
var_dump(class_exists('System'));

Когда это правда, груша установлена. Дополнительная информация: http://pear.php.net/manual/en/installation.checking.php

5 голосов
/ 12 ноября 2011

Следующий код может помочь, если сервер находится в Ubuntu.

sudo apt-get install php-pear

sudo pear install mail

sudo pear install Net_SMTP

sudo pear install Auth_SASL

sudo pear install mail_mime

Подробнее здесь .

...