laravel класс imap не найден, установка хорошая - PullRequest
0 голосов
/ 08 марта 2020

Я использую IMAP-пакет Weblex laravel и после установки, публикации и т. Д. c. Я не могу запустить тестовый скрипт, потому что он не найдет класс

Я точно следовал инструкциям по установке и настройке. Запустив это на laravel 5.8 по пути

composer require webklex/laravel-imap

php artisan vendor:publish --provider="Webklex\IMAP\Providers\LaravelServiceProvider"

Я создал файл в моей директории root (в testproject, так что он находится на том же уровне, что и App и Publi c), называемый mailtest. php, но я не могу найти его, чтобы найти реальный класс.

Я пробовал это:


$oClient = \Webklex\IMAP\Facades\Client::account('default');
$oClient->connect();

и это:

<?php
use \Webklex\IMAP\Client;

$oClient = new Client([
    'host'          => 'somehost.com',
    'port'          => 993,
    'encryption'    => 'ssl',
    'validate_cert' => true,
    'username'      => 'username',
    'password'      => 'password',
    'protocol'      => 'imap'
]);

$oClient->connect();

но при запуске php mailtest. php в моей папке root через CLI я получаю:

Неустранимая ошибка: Uncaught Error: Класс 'Webklex \ IMAP \ Facades \ Client' не найден в /Users/testUser/Websites/task-manager/mailtest.php:3

Что я делаю не так?

1 Ответ

2 голосов
/ 08 марта 2020

Вы не должны запускать файл php напрямую из cli и ожидать, что он будет работать, вы просто запускаете файл php без загрузки файлов поставщика (composer), вы можете попробовать

<?php 

include __DIR__.'/vendor/autoload.php';

Но я не уверен, что это будет работать, если вы используете laravel, вы можете создать новую команду и запустить ее из php artisan command

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...