Я совершенно не понимаю, что происходит. Я установил Intervention из приведенного здесь руководства
Затем я создал следующий .php-файл и запустил свой сервер Apache localhost и протестировал результаты, и он сработал!
Вот код:
test.php
<?php require 'vendor/autoload.php'; use Intervention\Image\ImageManagerStatic as Image; Image::configure(array('driver' => 'gd')); $image = Image::make('ar.jpg'); $path = 'public/images/photoh.png'; $image->save($path); ?>
Но когда я запускаю тот же файл, используя php test.php
в терминале Ubuntu, я получаю следующую ошибку:
Расширение библиотеки GD недоступно с этой установкой PHP.
Когда я проверил phpinfo (), я увидел, что gd указан там с версией 2.1.0
Это не настоящая проблема, но все же я хотел бы знать, что может быть неправильным и как я могу ее решить.
Тогда возникает реальная проблема. Я установил Imagick отдельно, используя следующую команду:
sudo apt-get install php-imagick
Это установило Imagick 6.8 в моей системе (я проверил это с помощью convert -version)
Затем я добавил следующее в файл php.ini:
extension=imagick.so
И затем для тестирования я сменил драйвер на «imagick» в test.php и выполнил его с помощью php в терминале, и он работал нормально.
Но я хочу, чтобы он работал в браузере, как GD , но IT DID NOT .
Он показал аналогичную ошибку, которую GD показал на терминале:
Модуль ImageMagick недоступен при установке PHP.
Похоже, что ImageMagick установлен, но чего-то не хватает. Есть ли что-то, что я могу сделать?
Ubuntu: 16.04 LTS PHP: 5.6
Во-первых, в вашей системе есть, вероятно, различные файлы php.ini. Вы можете найти различные файлы, набрав locate php.ini
в терминале. Убедитесь, что вы редактируете предназначенную для Интернета версию. Во-вторых, я перезапустил ваш веб-сервис. Если вы используете apache, вы можете ввести sudo service apache2 restart
в терминале, чтобы перезапустить его.