How Do I Check To See If PEAR Is Installed On My Server or Not?

喜夏-厌秋 提交于 2019-12-10 04:23:02

问题


I am getting error like:

Warning: include_once(Net/SMTP.php) [function.include-once]: failed to open stream: No such file or directory in /usr/local/lib/php/Mail/smtp.php on line 348

Warning: include_once() [function.include]: Failed opening 'Net/SMTP.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /usr/local/lib/php/Mail/smtp.php on line 348

Fatal error: Class 'Net_SMTP' not found in /usr/local/lib/php/Mail/smtp.php on line 349

My code:

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>");
 }

回答1:


if you have ssh access, you can login and run

which pear

if it's installed it will print something like this

/usr/bin/pear



回答2:


Use this code

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

When this is true, pear is installed. More info: http://pear.php.net/manual/en/installation.checking.php




回答3:


The following code might help if the server is on 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

More info here.



来源:https://stackoverflow.com/questions/5326475/how-do-i-check-to-see-if-pear-is-installed-on-my-server-or-not

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!