我做的第一次是
在我的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'没找到{我的 目录}
所以我假设某些东西没有看到班级,但我几乎找不到任何关于它的信息 有什么建议或指示吗?
答案 0 :(得分:7)
phpMailer是一个库包;它通常用作更大应用程序的一部分。在这种情况下,它应该是您的主应用程序使用Composer来安装phpMailer及其依赖项。您通常不希望手动将phpMailer上传到您的应用程序中,然后仅使用Composer,这听起来就像您正在做的那样。
所以这就是你应该做的。
转到项目的根文件夹,然后发出以下命令:
composer require phpmailer/phpmailer
composer require league/oauth2-google
(你已经完成了第二次,所以可能不需要,但是当你这样做时你没有说出你所处的文件夹)
如果您还没有为项目使用Composer,请确保您的代码始终包含Composer自动加载文件。因此,在每个页面加载开始时,您应该调用require_once 'vendor/autoload.php';
。