如何安装php-pear到AWS EC2

时间:2016-06-30 08:08:32

标签: php amazon-ec2 pear

我是亚马逊EC2的新手。 我正在尝试在我的亚马逊服务器上安装php-pear。 但我在下面有一些错误 enter image description here

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

假设您已经安装了php,可以按照以下步骤进行操作

  1. 提升权限:此步骤对于安装标准目录的梨非常重要。如果你跳过这个,那么pear将被安装在ec2-user目录中,由于大量的所有权和权限问题,它几乎无法使用。

    sudo -i

  2. 下载并安装Pear
    wget http://pear.php.net/go-pear.phar php go-pear.phar

  3. 安装Mail和Net_SMTP包
    pear install Mail pear install Net_SMTP
  4. 安装将要求更新php.ini文件。请这样做。

答案 1 :(得分:0)

我今天早些时候在运行PHP7的EC2 Linux实例上安装了它,如下所示:

sudo yum install php7-pear

安装完成后:

pear install Mail
pear install Net_SMTP

然而,之后不是小菜一碟。我遇到了与PHP7和Postfix相关的SMTP设置相关的其他挑战,这给我的特定情况带来了一些困难,因为我想发送base64编码的内联图像,这显然是一个非常不寻常的情况,因为我无法做到找到任何帮助。但是,对于发送的简单电子邮件,您只需要以下代码:

require_once "Mail.php";
$from = "My Name <no-reply@example.com>";
$host = "smtp.example.com";
$port = "587";
$username = "user@example.com";
$password = "password";
$subject = "Some subject";
$headers = array('From' => $from, 'To' => $to, 'Subject' => $subject);
$body = "\r\n\r\n--" . $boundary . "\r\n";
$body .= "Content-type: text/plain; charset=\"iso-8859-1\"\r\n";
$body .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
$body .= "This is the message body.";
$body .= "\r\n\r\n--" . $boundary . "\r\n";

$smtp = Mail::factory('smtp', array(
            'debug' => true,
            'host' => $host,
            'port' => $port,
            '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>");
}