include_once('C:\Inetpub\wwwroot\php\PHPMailer\PHPMailerAutoload.php');
Неустранимая ошибка: класс «PHPMailer» не найден в C: \ Inetpub \ wwwroot \ php \ index.php в строке 151
Я PHPMailerAutoload.php
в тот же каталог, что и мой скрипт.
Может кто-то помочь мне с этим ?
Не похоже, что все файлы, необходимые для использования этого класса, присутствуют. Я бы начал:
require_once('phpmailer/PHPMailerAutoload.php');
Я предлагаю вам посмотреть на composer
. https://getcomposer.org Composer упрощает получение сторонних библиотек и использует один автозагрузчик для всех. Он также стандартизирует, где расположены все ваши зависимости, а также некоторые возможности автоматизации.
Загрузите https://getcomposer.org/composer.phar в C:\Inetpub\wwwroot\php
Удалите C:\Inetpub\wwwroot\php\PHPMailer\
.
Используйте composer.phar
для получения пакета phpmailer с помощью командной строки для выполнения
cd C:\Inetpub\wwwroot\php php composer.phar require phpmailer/phpmailer
По завершении он создаст C:\Inetpub\wwwroot\php\vendor
вместе со всеми файлами phpmailer и создаст автозагрузчик.
Далее в вашем основном файле конфигурации проекта вам необходимо включить файл автозагрузки.
require_once 'C:\Inetpub\wwwroot\php\vendor\autoload.php';
vendor\autoload.php
будет включать в себя информацию для использования $mail = new \PHPMailer;
Дополнительную информацию о пакете PHPMailer можно найти на странице https://packagist.org/packages/phpmailer/phpmailer
Это просто пространство имен. Посмотрите примеры для справки – вам нужно либо использовать класс с именами, либо ссылаться на него, например:
use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; //Load composer's autoloader require 'vendor/autoload.php';
Просто прочитав то, что вы написали, вам также нужно добавить файл class.phpmailer.php в свой каталог.
PHPMailerAutoload
должен находиться в той же папке, что и class.phpmailer.php
Это код PHPMailerAutoload
который я предполагаю:
$filename = dirname(__FILE__).DIRECTORY_SEPARATOR.'class.'.strtolower($classname).'.php';