Bug #59528
Updated by Tymoteusz Motylewski over 9 years ago
At the TYPO3\CMS\Core\Resource\Service\IndexerService::indexFile method the file size is determined by getimagesize:
<pre>
list($fileInfo['width'], $fileInfo['height']) = getimagesize($rawFileLocation);
</pre>
On failure, FALSE is returned.
@see http://mx2.php.net/manual/en/function.getimagesize.php
If ann error occours, fileInfo['width'] and $fileInfo['height'] will be NULL and the following MySQL error happens:
<pre>
Column 'height' cannot be null
INSERT INTO sys_file
(creation_date,modification_date,size,identifier,storage,name,sha1,type,mime_type,extension,height,width,crdate,tstamp)
VALUES
('1402489970','1402489970','85429','/uploads/pics/image.jpg','0','image.jpg','8c9841ca0080cd2c96ca087c83f33ed3a4cd5204','2','image/jpeg','jpg',NULL,NULL,'1402574658','1402574658')
</pre>
This error occurs, for example when rendering an image in the FE and a crop-scale is executed. So the image has to be indexed.
It can be fixed with the following code(see the diff):
<pre>
if (is_array($imageSize = getimagesize($rawFileLocation))) {
$fileInfo['width'] = $imageSize[0];
$fileInfo['height'] = $imageSize[1];
}
</pre>
btw: sorry for my englisch.