У меня есть задание в очереди, которое сохраняет изображения с заданных URL-адресов (получает их с удаленного компьютера и сохраняет локально), и все работает, но, если я помещаю этот код в задание с очередями, я получаю сообщение об ошибке.
local.ERROR: невозможно выполнить инициализацию с заданного URL-адреса (URL-адрес существует, и я могу получить доступ через браузер) ...
Я могу получить доступ к этим URL-адресам, allow_url_fopen
включено, и этот код работает без задания в очереди.
try {
$img = Image::make($photo->url);
$img->save($path.$filenameBig); // Save the big image
} catch (NotReadableException $e) {
var_dump($e->getMessage());
}
Это $photo->url
это http
, и я вижу это в ошибке (она не пустая или что-то в этом роде). Я могу получить доступ с помощью браузера к реальному изображению. Я импортирую Image
так:
Использовать псевдоним в config/app
:
'Image' => Intervention\Image\ImageManagerStatic::class,
В провайдере (тот же файл):
Intervention\Image\ImageServiceProvider::class
Тогда используйте его:
use Image;
StackTrace
ErrorException: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/myes8adq/app/Libraries/PropertyLibrary.php:156
Stack trace:
0 [internal function]: Illuminate\Foundation\Bootstrap\HandleExceptions-handleError(2, 'file_get_conten...', '/home/myes8adq/...', 156, Array)
#1 /home/myes8adq/app/Libraries/PropertyLibrary.php(156): file_get_contents('https://dummyim...')
#2 /home/myes8adq/app/Libraries/PropertyLibrary.php(30): App\Libraries\PropertyLibrary->importOneChanged(Object(stdClass))
#3 /home/myes8adq/app/Jobs/ImportPropertiesAndNomenclaturesJob.php(48): App\Libraries\PropertyLibrary->importAllChanged()
#4 [internal function]: App\Jobs\ImportPropertiesAndNomenclaturesJob->handle()
#5 /home/myes8adq/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(32): call_user_func_array(Array, Array)
#6 /home/myes8adq/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(90): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
#7 /home/myes8adq/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(34): Illuminate\Container\BoundMethod::callBoundMethod(Object(Illuminate\Foundation\Application), Array, Object(Closure))
#8 /home/myes8adq/vendor/laravel/framework/src/Illuminate/Container/Container.php(576): Illuminate\Container\BoundMethod::call(Object(Illuminate\Foundation\Application), Array, Array, NULL)
#9 /home/myes8adq/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(94): Illuminate\Container\Container->call(Array)
#10 /home/myes8adq/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\Bus\Dispatcher->Illuminate\Bus\{closure}(Object(App\Jobs\ImportPropertiesAndNomenclaturesJob))
#11 /home/myes8adq/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(104): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(App\Jobs\ImportPropertiesAndNomenclaturesJob))
#12 /home/myes8adq/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(98): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#13 /home/myes8adq/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(49): Illuminate\Bus\Dispatcher->dispatchNow(Object(App\Jobs\ImportPropertiesAndNomenclaturesJob), false)
#14 /home/myes8adq/vendor/laravel/framework/src/Illuminate/Queue/Jobs/Job.php(88): Illuminate\Queue\CallQueuedHandler->call(Object(Illuminate\Queue\Jobs\RedisJob), Array)
#15 /home/myes8adq/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(327): Illuminate\Queue\Jobs\Job->fire()
#16 /home/myes8adq/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(277): Illuminate\Queue\Worker->process('redis', Object(Illuminate\Queue\Jobs\RedisJob), Object(Illuminate\Queue\WorkerOptions))
#17 /home/myes8adq/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(230): Illuminate\Queue\Worker->runJob(Object(Illuminate\Queue\Jobs\RedisJob), 'redis', Object(Illuminate\Queue\WorkerOptions))
#18 /home/myes8adq/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(102): Illuminate\Queue\Worker->runNextJob('redis', 'default', Object(Illuminate\Queue\WorkerOptions))
#19 /home/myes8adq/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(86): Illuminate\Queue\Console\WorkCommand->runWorker('redis', 'default')
#20 [internal function]: Illuminate\Queue\Console\WorkCommand->handle()
#21 /home/myes8adq/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(32): call_user_func_array(Array, Array)
#22 /home/myes8adq/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(90): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
#23 /home/myes8adq/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(34): Illuminate\Container\BoundMethod::callBoundMethod(Object(Illuminate\Foundation\Application), Array, Object(Closure))
#24 /home/myes8adq/vendor/laravel/framework/src/Illuminate/Container/Container.php(576): Illuminate\Container\BoundMethod::call(Object(Illuminate\Foundation\Application), Array, Array, NULL)
#25 /home/myes8adq/vendor/laravel/framework/src/Illuminate/Console/Command.php(183): Illuminate\Container\Container->call(Array)
#26 /home/myes8adq/vendor/symfony/console/Command/Command.php(255): Illuminate\Console\Command->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Illuminate\Console\OutputStyle))
#27 /home/myes8adq/vendor/laravel/framework/src/Illuminate/Console/Command.php(170): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Illuminate\Console\OutputStyle))
#28 /home/myes8adq/vendor/symfony/console/Application.php(917): Illuminate\Console\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#29 /home/myes8adq/vendor/symfony/console/Application.php(269): Symfony\Component\Console\Application->doRunCommand(Object(Illuminate\Queue\Console\WorkCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#30 /home/myes8adq/vendor/symfony/console/Application.php(145): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#31 /home/myes8adq/vendor/laravel/framework/src/Illuminate/Console/Application.php(90): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#32 /home/myes8adq/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(133): Illuminate\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#33 /home/myes8adq/artisan(37): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#34 {main}