Lo que hice primero fue
compositor instalado en mi sistema linux
su al usuario del directorio
creó un directorio en public_html PHPMailer-5_2_23
cambiado a ese directorio
cargó php mailer en ese directorio
luego ejecutó la actualización del compositor en el composer.json provisto de phpmailer en github aquí: 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" }
después de eso, ejecuté el comando del compositor "require league/oauth2-google" como se indica aquí: https://packagist.org/packages/league/oauth2-google
Agregué la configuración de usuario para obtener get_oauth_token.php para mostrar un token en mi navegador, pero recibo un error fatal de PHP:
Clase 'League\OAuth2\Client\Provider\Google' no encontrada en {mis directorios}
ASÍ QUE Asumo que algo no está viendo la clase, pero no puedo encontrar casi ninguna información sobre ella. ¿Alguna sugerencia o dirección?
phpMailer es un paquete de biblioteca; normalmente se usaría como parte de una aplicación más grande. En ese caso, debería ser su aplicación principal la que use Composer para instalar phpMailer y sus dependencias. Por lo general, no querrá cargar phpMailer manualmente en su aplicación y luego usar Composer solo para eso, que es lo que parece que está haciendo.
Así que esto es lo que debes hacer.
Vaya a la carpeta raíz de su proyecto y emita los siguientes comandos:
composer require phpmailer/phpmailer composer require league/oauth2-google
(Ya hiciste el segundo, por lo que puede que no sea necesario, pero no dijiste en qué carpeta estabas cuando lo hiciste)
Si aún no estaba usando Composer para su proyecto, asegúrese de que su código siempre incluya el archivo de carga automática de Composer. Entonces, en algún lugar al comienzo de cada carga de página, debe llamar a require_once 'vendor/autoload.php';
.