我的cakephp应用程序突然出现图像上传错误。一切正常,但随后突然出现此错误。查看此屏幕截图: https://prnt.sc/ssazr5
我偶尔进行和更新一次,但是我没有对图片上传进行任何更改。
我真的不知道为什么会这样吗? Maby缓存相关吗? 那是我进行一些更新的地方-删除了一些文件并编译了新的翻译文件。
这是我的控制人
public function upload()
{
$this->autoRender = false;
$this->RequestHandler->renderAs($this, 'json');
if ($this->request->is(['post', 'put'])) {
$image = $this->Images->newEntity($this->request->getData());
if ($this->Images->save($image)) {
$response = [
'id' => $image->id,
'url_sm' => '/upload/images/' . $image->id . '/sm_' . $image->image,
'url_md' => '/upload/images/' . $image->id . '/md_' . $image->image,
'url_lg' => '/upload/images/' . $image->id . '/lg_' . $image->image,
'status' => 'success'
];
echo json_encode($response);
return;
}
}
echo json_encode([
'status' => 'error'
]);
}
这是图片上传方法
public function initialize(array $config)
{
parent::initialize($config);
$this->table('images');
$this->displayField('filename');
$this->primaryKey('id');
$this->addBehavior('ImageUpload.ImageUpload', [
'image' => [
['width' => 1500, 'height' => 850, 'quality' => 90, 'mode' => 'resize'],
['prefix' => 'md', 'width' => 320, 'height' => 180, 'quality' => 85, 'mode' => 'resize'],
['prefix' => 'sm', 'width' => 600, 'height' => 340, 'quality' => 80, 'mode' => 'fit']
]
]);
}
这是模型初始化
recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 77.219.8.56, server: example.com, request: "GET /info.php HTTP/1.1", upstream: "fastcgi://unix:/run/php/php7.2-fpm.sock:", host: "example.com"
Nginx error.log
Caused by: [ImagickException] no decode delegate for this image format `JPEG' @ error/constitute.c/ReadImage/504
cakephp error.log
/vendor/intervention/image/src/Intervention/Image/Imagick/Decoder.php(22): Imagick->readimage('/tmp/phpkBXa15')
#1 vendor/intervention/image/src/Intervention/Image/AbstractDecoder.php(338): Intervention\Image\Imagick\Decoder->initFromPath('/tmp/phpkBXa15')
#2 vendor/intervention/image/src/Intervention/Image/AbstractDriver.php(64): Intervention\Image\AbstractDecoder->init('/tmp/phpkBXa15')
#3 vendor/intervention/image/src/Intervention/Image/ImageManager.php(52): Intervention\Image\AbstractDriver->init('/tmp/phpkBXa15')
#4 plugins/ImageUpload/src/Model/Behavior/ImageUploadBehavior.php(115): Intervention\Image\ImageManager->make('/tmp/phpkBXa15')
#5 vendor/cakephp/cakephp/src/Event/EventManager.php(353): ImageUpload\Model\Behavior\ImageUploadBehavior->beforeSave(Object(Cake\Event\Event), Object(App\Model\Entity\Product), Object(ArrayObject))
#6 vendor/cakephp/cakephp/src/Event/EventManager.php(330): Cake\Event\EventManager->_callListener(Array, Object(Cake\Event\Event))
#7 vendor/cakephp/cakephp/src/Event/EventDispatcherTrait.php(114): Cake\Event\EventManager->dispatch(Object(Cake\Event\Event))
#8 vendor/cakephp/cakephp/src/ORM/Table.php(1987): Cake\ORM\Table->dispatchEvent('Model.beforeSav...', Array)
#9 vendor/cakephp/cakephp/src/ORM/Table.php(1921): Cake\ORM\Table->_processSave(Object(App\Model\Entity\Product), Object(ArrayObject))
#10 endor/cakephp/cakephp/src/ORM/Table.php(1634): Cake\ORM\Table->Cake\ORM\{closure}()
#11 vendor/cakephp/cakephp/src/Database/Connection.php(738): Cake\ORM\Table->Cake\ORM\{closure}(Object(Cake\Database\Connection))
#12 vendor/cakephp/cakephp/src/ORM/Table.php(1635): Cake\Database\Connection->transactional(Object(Closure))
#13vendor/cakephp/cakephp/src/ORM/Table.php(1922): Cake\ORM\Table->_executeTransaction(Object(Closure), true)
#14 src/Controller/Admin/ProductsController.php(407): Cake\ORM\Table->save(Object(App\Model\Entity\Product), Object(ArrayObject))
#15 vendor/cakephp/cakephp/src/Controller/Controller.php(610): App\Controller\Admin\ProductsController->edit('103159')
#16 vendor/cakephp/cakephp/src/Http/ActionDispatcher.php(120): Cake\Controller\Controller->invokeAction()
#17 vendor/cakephp/cakephp/src/Http/ActionDispatcher.php(94): Cake\Http\ActionDispatcher->_invoke(Object(App\Controller\Admin\ProductsController))
#18 vendor/cakephp/cakephp/src/Http/BaseApplication.php(235): Cake\Http\ActionDispatcher->dispatch(Object(Cake\Http\ServerRequest), Object(Cake\Http\Response))
#19 vendor/cakephp/cakephp/src/Http/Runner.php(65): Cake\Http\BaseApplication->__invoke(Object(Cake\Http\ServerRequest), Object(Cake\Http\Response), Object(Cake\Http\Runner))
#20 vendor/cakephp/cakephp/src/Routing/Middleware/RoutingMiddleware.php(162): Cake\Http\Runner->__invoke(Object(Cake\Http\ServerRequest), Object(Cake\Http\Response))
#21 vendor/cakephp/cakephp/src/Http/Runner.php(65): Cake\Routing\Middleware\RoutingMiddleware->__invoke(Object(Cake\Http\ServerRequest), Object(Cake\Http\Response), Object(Cake\Http\Runner))
#22 vendor/cakephp/cakephp/src/Routing/Middleware/AssetMiddleware.php(88): Cake\Http\Runner->__invoke(Object(Cake\Http\ServerRequest), Object(Cake\Http\Response))
#23 vendor/cakephp/cakephp/src/Http/Runner.php(65): Cake\Routing\Middleware\AssetMiddleware->__invoke(Object(Cake\Http\ServerRequest), Object(Cake\Http\Response), Object(Cake\Http\Runner))
#24 vendor/cakephp/cakephp/src/Error/Middleware/ErrorHandlerMiddleware.php(96): Cake\Http\Runner->__invoke(Object(Cake\Http\ServerRequest), Object(Cake\Http\Response))
#25 vendor/cakephp/cakephp/src/Http/Runner.php(65): Cake\Error\Middleware\ErrorHandlerMiddleware->__invoke(Object(Cake\Http\ServerRequest), Object(Cake\Http\Response), Object(Cake\Http\Runner))
#26vendor/cakephp/cakephp/src/Http/Runner.php(51): Cake\Http\Runner->__invoke(Object(Cake\Http\ServerRequest), Object(Cake\Http\Response))
#27 vendor/cakephp/cakephp/src/Http/Server.php(98): Cake\Http\Runner->run(Object(Cake\Http\MiddlewareQueue), Object(Cake\Http\ServerRequest), Object(Cake\Http\Response))
#28webroot/index.php(37): Cake\Http\Server->run()
param
任何帮助将不胜感激。