Почему класс Imagick не найден в laravel 7.0? - PullRequest
0 голосов
/ 06 марта 2020

У меня была установлена ​​Imagick:

download:
https://windows.php.net/downloads/pecl/snaps/imagick/3.4.3/php_imagick-3.4.3-7.2-ts-vc15-x64.zip
https://windows.php.net/downloads/pecl/deps/ImageMagick-7.0.7-11-vc15-x64.zip
extract php_imagick.dll to ext/
extract ImageMagick-7.0.7 to one path
ADD ImageMagick-7.0.7/bin to SYSTEM PATH
ADD "extension=imagick" in php.ini
ADD LoadFile "/yourImageMagickPath/bin/CORE_RL_Magick++_.dll" in httpd.conf

Результат phpinfo: enter image description here

Я пытаюсь проверить в контроллере:

 public function index()
    {
        $im = new Imagick();
        $im->newPseudoImage(100, 100, "magick:rose");
        $im->setImageFormat("png");
        $im->roundCorners(5,3);
        $type=$im->getFormat();
        header("Content-type: $type");
        echo $im->getimageblob();
        return view('home');
    }

Произошла ошибка:

Class 'App\Http\Controllers\Imagick' not found

Почему класс Imagick не найден в laravel 7.0?

1 Ответ

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

Class 'App\Http\Controllers\Imagick' not found означает, что Imagick не находится в пространстве имен App\Http\Controllers. Если вы хотите использовать Imagick, вам нужно предварительно отрендерить его с пространством имен root \. Измените

$im = new Imagick();

на

$im = new \Imagick();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...