php mailer 5.2.23通过composer安装

时间:2017-05-02 13:08:56

标签: php composer-php phpmailer

我做的第一次是

在我的linux系统上安装了composer

su到目录用户

在public_html PHPMailer-5_2_23

中创建了一个目录

已更改为该目录

将php邮件程序上传到该目录

然后在github上从phpmailer上提供的composer.json上运行作曲家更新:https://github.com/PHPMailer/PHPMailer

{
"name": "phpmailer/phpmailer",
"type": "library",
"description": "PHPMailer is a full-featured email creation and transfer class for PHP",
"authors": [
    {
        "name": "Marcus Bointon",
        "email": "phpmailer@synchromedia.co.uk"
    },
    {
        "name": "Jim Jagielski",
        "email": "jimjag@gmail.com"
    },
    {
        "name": "Andy Prevost",
        "email": "codeworxtech@users.sourceforge.net"
    },
    {
        "name": "Brent R. Matzelle"
    }
],
"require": {
    "php": ">=5.0.0"
},
"require-dev": {
    "doctrine/annotations": "1.2.*",
    "jms/serializer": "0.16.*",
    "phpdocumentor/phpdocumentor": "2.*",
    "phpunit/phpunit": "4.8.*",
    "symfony/debug": "2.8.*",
    "symfony/filesystem": "2.8.*",
    "symfony/translation": "2.8.*",
    "symfony/yaml": "2.8.*",
    "zendframework/zend-cache": "2.5.1",
    "zendframework/zend-config": "2.5.1",
    "zendframework/zend-eventmanager": "2.5.1",
    "zendframework/zend-filter": "2.5.1",
    "zendframework/zend-i18n": "2.5.1",
    "zendframework/zend-json": "2.5.1",
    "zendframework/zend-math": "2.5.1",
    "zendframework/zend-serializer": "2.5.*",
    "zendframework/zend-servicemanager": "2.5.*",
    "zendframework/zend-stdlib": "2.5.1"
},
"suggest": {
    "league/oauth2-google": "Needed for Google XOAUTH2 authentication"
},
"autoload": {
    "classmap": [
        "class.phpmailer.php",
        "class.phpmaileroauth.php",
        "class.phpmaileroauthgoogle.php",
        "class.smtp.php",
        "class.pop3.php",
        "extras/EasyPeasyICS.php",
        "extras/ntlm_sasl_client.php"
    ]
},
"license": "LGPL-2.1"
}

在那之后,我运行了作曲家命令"要求联盟/ oauth2-google"如上所述: https://packagist.org/packages/league/oauth2-google

我添加了用户设置以获取get_oauth_token.php以在我的浏览器上显示令牌但我得到 PHP致命错误:

  

Class' League \ OAuth2 \ Client \ Provider \ Google'没找到{我的   目录}

所以我假设某些东西没有看到班级,但我几乎找不到任何关于它的信息  有什么建议或指示吗?

1 个答案:

答案 0 :(得分:7)

phpMailer是一个库包;它通常用作更大应用程序的一部分。在这种情况下,它应该是您的主应用程序使用Composer来安装phpMailer及其依赖项。您通常不希望手动将phpMailer上传到您的应用程序中,然后仅使用Composer,这听起来就像您正在做的那样。

所以这就是你应该做的。

  1. 删除已安装的phpMailer副本。
  2. 转到项目的根文件夹,然后发出以下命令:

    composer require phpmailer/phpmailer
    composer require league/oauth2-google
    

    (你已经完成了第二次,所以可能不需要,但是当你这样做时你没有说出你所处的文件夹)

  3. 如果您还没有为项目使用Composer,请确保您的代码始终包含Composer自动加载文件。因此,在每个页面加载开始时,您应该调用require_once 'vendor/autoload.php';