Image Optimizer for XF 2.0

Image Optimizer for XF 2.0 [Paid] 2.1.8

No permission to buy ($29.00)
I just updated from 1.06 to 1.10 and have these errors occurring
Code:
ErrorException: [tl] Image Optimizer: Seem failed to execute command. $command=/usr/bin/gifsicle --colors='256' --lossy='80' --no-names --output '/home/nginx/domains/site/public/forum/internal_data/temp/xf0T9DaD' '/home/nginx/domains/site/public/forum/internal_data/temp/xf5WGpVq' $output=array ( ) src/XF/Error.php:75
Generated by: Unknown account Dec 9, 2018 at 9:05 AM
Stack trace
#0 src/XF.php(162): XF\Error->logError('[tl] Image Opti...', false)
#1 src/addons/Truonglv/ImageOptimizer/Images/AbstractImage.php(53): XF::logError('[tl] Image Opti...')
#2 src/addons/Truonglv/ImageOptimizer/Job/Optimizer.php(142): Truonglv\ImageOptimizer\Images\AbstractImage->optimize('/home/nginx/dom...')
#3 src/addons/Truonglv/ImageOptimizer/Job/Optimizer.php(83): Truonglv\ImageOptimizer\Job\Optimizer->optimizeImageFile('data://avatars/...')
#4 src/addons/Truonglv/ImageOptimizer/Job/Optimizer.php(51): Truonglv\ImageOptimizer\Job\Optimizer->processImages(Array, 'avatar', Object(XF\Timer), 1544160456)
#5 src/XF/Job/Manager.php(241): Truonglv\ImageOptimizer\Job\Optimizer->run(8)
#6 src/XF/Job/Manager.php(187): XF\Job\Manager->runJobInternal(Array, 8)
#7 src/XF/Job/Manager.php(76): XF\Job\Manager->runJobEntry(Array, 8)
#8 job.php(14): XF\Job\Manager->runQueue(false, 8)
#9 {main}
 
Hello
i am using the 1.1.1 verison but i have the same bug as David G + this one :

Code:
ErrorException: [tl] Image Optimizer: Seem failed to execute command. $command=/usr/bin/pngquant -f --quality '60-80' --speed '5' --output '/var/www/site.com/htdocs/internal_data/temp/xfMGfRmS' '/var/www/site.com/htdocs/internal_data/temp/xf0Q5v05' $output=array ( ) src/XF/Error.php:75
Generated by: Unknown account Dec 11, 2018 at 12:10 PM
Stack trace
#0 src/XF.php(162): XF\Error->logError('[tl] Image Opti...', false)
#1 src/addons/Truonglv/ImageOptimizer/Images/AbstractImage.php(54): XF::logError('[tl] Image Opti...')
#2 src/addons/Truonglv/ImageOptimizer/Job/Optimizer.php(142): Truonglv\ImageOptimizer\Images\AbstractImage->optimize('/var/www/site...')
#3 src/addons/Truonglv/ImageOptimizer/Job/Optimizer.php(83): Truonglv\ImageOptimizer\Job\Optimizer->optimizeImageFile('internal-data:/...')
#4 src/addons/Truonglv/ImageOptimizer/Job/Optimizer.php(51): Truonglv\ImageOptimizer\Job\Optimizer->processImages(Array, 'attachment_data', Object(XF\Timer), 375720)
#5 src/XF/Job/Manager.php(241): Truonglv\ImageOptimizer\Job\Optimizer->run(7.9999990463257)
#6 src/XF/Job/Manager.php(187): XF\Job\Manager->runJobInternal(Array, 7.9999990463257)
#7 src/XF/Job/Manager.php(76): XF\Job\Manager->runJobEntry(Array, 7.9999990463257)
#8 job.php(14): XF\Job\Manager->runQueue(false, 8)
#9 {main}
 
Hello
i am using the 1.1.1 verison but i have the same bug as David G + this one :

Code:
ErrorException: [tl] Image Optimizer: Seem failed to execute command. $command=/usr/bin/pngquant -f --quality '60-80' --speed '5' --output '/var/www/site.com/htdocs/internal_data/temp/xfMGfRmS' '/var/www/site.com/htdocs/internal_data/temp/xf0Q5v05' $output=array ( ) src/XF/Error.php:75
Generated by: Unknown account Dec 11, 2018 at 12:10 PM
Stack trace
#0 src/XF.php(162): XF\Error->logError('[tl] Image Opti...', false)
#1 src/addons/Truonglv/ImageOptimizer/Images/AbstractImage.php(54): XF::logError('[tl] Image Opti...')
#2 src/addons/Truonglv/ImageOptimizer/Job/Optimizer.php(142): Truonglv\ImageOptimizer\Images\AbstractImage->optimize('/var/www/site...')
#3 src/addons/Truonglv/ImageOptimizer/Job/Optimizer.php(83): Truonglv\ImageOptimizer\Job\Optimizer->optimizeImageFile('internal-data:/...')
#4 src/addons/Truonglv/ImageOptimizer/Job/Optimizer.php(51): Truonglv\ImageOptimizer\Job\Optimizer->processImages(Array, 'attachment_data', Object(XF\Timer), 375720)
#5 src/XF/Job/Manager.php(241): Truonglv\ImageOptimizer\Job\Optimizer->run(7.9999990463257)
#6 src/XF/Job/Manager.php(187): XF\Job\Manager->runJobInternal(Array, 7.9999990463257)
#7 src/XF/Job/Manager.php(76): XF\Job\Manager->runJobEntry(Array, 7.9999990463257)
#8 job.php(14): XF\Job\Manager->runQueue(false, 8)
#9 {main}
This is log information about some failed to optimize image.
 
I see, what did i need to do ?
Why thoses failed to optimize image ?

and for this one :

Code:
Mismatched result files. $expectedFiles=1 $actualFiles=0. Skipped... src/XF/Error.php:75
Generated by: Unknown account Dec 11, 2018 at 12:10 PM
Stack trace
#0 src/XF.php(162): XF\Error->logError('Mismatched resu...', false)
#1 src/addons/Truonglv/ImageOptimizer/Job/Optimizer.php(96): XF::logError('Mismatched resu...')
#2 src/addons/Truonglv/ImageOptimizer/Job/Optimizer.php(51): Truonglv\ImageOptimizer\Job\Optimizer->processImages(Array, 'attachment_data', Object(XF\Timer), 375720)
#3 src/XF/Job/Manager.php(241): Truonglv\ImageOptimizer\Job\Optimizer->run(7.9999990463257)
#4 src/XF/Job/Manager.php(187): XF\Job\Manager->runJobInternal(Array, 7.9999990463257)
#5 src/XF/Job/Manager.php(76): XF\Job\Manager->runJobEntry(Array, 7.9999990463257)
#6 job.php(14): XF\Job\Manager->runQueue(false, 8)
#7 {main}
 
Getting similar error here using 1.1.1:
  • Code:
    ErrorException: Mismatched result files. $expectedFiles=1 $actualFiles=0. Skipped... src/XF/Error.php:75
  • Code:
    ErrorException: [tl] Image Optimizer: Seem failed to execute command. $command=/home/nginx/domains/movilesdualsim.com/public/src/addons/Truonglv/ImageOptimizer/pngquant -f --quality '60-80' --speed '5' --output '/home/nginx/domains/xxx.com/public/internal_data/temp/xfLQ7Wue' '/home/nginx/domains/xxx.com/public/internal_data/temp/xfmaRMjT' $output=array ( ) src/XF/Error.php:75
 
I fixed that error I had on failed execution of command by installing the proper version on the executable. I had gifsicle installed via yum, but what is needed is a forked version giflossy. I ran the included bash setup.sh file which pulled from git and complied the proper gifsicle. It installed the bin in directory of Image Optimize addon. So I had to change path for gifsicle to that location. Now there is no error and everything works fine.

I imagine the errors you see with gifsicle and pngquant are do to executables which are older or don't accept the parameters passed. I would run the setup.sh, or like I did just pull the parts you need (for me just fork of gifsicle) and run. Then change path of executable in options.
 
@truonglv i got an some errors after installing.

Code:
Server error log
XF\Db\Exception: Job Truonglv\ImageOptimizer\Job\Optimizer: MySQL statement prepare error [1054]: Unknown column 'tl_image_optimizer_log.content_type' in 'where clause' src/XF/Db/AbstractStatement.php:217
Generated by: Unknown account Dec 26, 2018 at 1:20 AM

Stack trace
            SELECT `tl_image_optimizer_log`.*
            FROM `tl_image_optimizer_log`
            
            WHERE (`tl_image_optimizer_log`.`content_type` = 'attachment_data')
            ORDER BY `tl_image_optimizer_log`.`content_id` DESC
        
LIMIT 1
------------

#0 src/XF/Db/Mysqli/Statement.php(196): XF\Db\AbstractStatement->getException('MySQL statement...', 1054, '42S22')
#1 src/XF/Db/Mysqli/Statement.php(39): XF\Db\Mysqli\Statement->getException('MySQL statement...', 1054, '42S22')
#2 src/XF/Db/Mysqli/Statement.php(54): XF\Db\Mysqli\Statement->prepare()
#3 src/XF/Db/AbstractAdapter.php(89): XF\Db\Mysqli\Statement->execute()
#4 src/XF/Mvc/Entity/Finder.php(1181): XF\Db\AbstractAdapter->query('
            SELECT `tl_...')
#5 src/addons/Truonglv/ImageOptimizer/Repository/Log.php(127): XF\Mvc\Entity\Finder->fetchOne()
#6 src/addons/Truonglv/ImageOptimizer/Repository/Log.php(68): Truonglv\ImageOptimizer\Repository\Log->getLastRunForContent('attachment_data')
#7 src/addons/Truonglv/ImageOptimizer/Job/Optimizer.php(42): Truonglv\ImageOptimizer\Repository\Log->getImagesForOptimizing()
#8 src/XF/Job/Manager.php(253): Truonglv\ImageOptimizer\Job\Optimizer->run(G)
#9 src/XF/Job/Manager.php(195): XF\Job\Manager->runJobInternal(Array, G)
#10 src/XF/Job/Manager.php(79): XF\Job\Manager->runJobEntry(Array, G)
#11 job.php(42): XF\Job\Manager->runQueue(false, 8)
#12 {main}

Request state
array(4) {
  ["url"] => string(8) "/job.php"
  ["referrer"] => string(52) "https://www.domain.com/admin.php?user-groups/"
  ["_GET"] => array(0) {
  }
  ["_POST"] => array(0) {
  }
}
 
@truonglv i got an some errors after installing.

Code:
Server error log
XF\Db\Exception: Job Truonglv\ImageOptimizer\Job\Optimizer: MySQL statement prepare error [1054]: Unknown column 'tl_image_optimizer_log.content_type' in 'where clause' src/XF/Db/AbstractStatement.php:217
Generated by: Unknown account Dec 26, 2018 at 1:20 AM

Stack trace
            SELECT `tl_image_optimizer_log`.*
            FROM `tl_image_optimizer_log`
           
            WHERE (`tl_image_optimizer_log`.`content_type` = 'attachment_data')
            ORDER BY `tl_image_optimizer_log`.`content_id` DESC
       
LIMIT 1
------------

#0 src/XF/Db/Mysqli/Statement.php(196): XF\Db\AbstractStatement->getException('MySQL statement...', 1054, '42S22')
#1 src/XF/Db/Mysqli/Statement.php(39): XF\Db\Mysqli\Statement->getException('MySQL statement...', 1054, '42S22')
#2 src/XF/Db/Mysqli/Statement.php(54): XF\Db\Mysqli\Statement->prepare()
#3 src/XF/Db/AbstractAdapter.php(89): XF\Db\Mysqli\Statement->execute()
#4 src/XF/Mvc/Entity/Finder.php(1181): XF\Db\AbstractAdapter->query('
            SELECT `tl_...')
#5 src/addons/Truonglv/ImageOptimizer/Repository/Log.php(127): XF\Mvc\Entity\Finder->fetchOne()
#6 src/addons/Truonglv/ImageOptimizer/Repository/Log.php(68): Truonglv\ImageOptimizer\Repository\Log->getLastRunForContent('attachment_data')
#7 src/addons/Truonglv/ImageOptimizer/Job/Optimizer.php(42): Truonglv\ImageOptimizer\Repository\Log->getImagesForOptimizing()
#8 src/XF/Job/Manager.php(253): Truonglv\ImageOptimizer\Job\Optimizer->run(G)
#9 src/XF/Job/Manager.php(195): XF\Job\Manager->runJobInternal(Array, G)
#10 src/XF/Job/Manager.php(79): XF\Job\Manager->runJobEntry(Array, G)
#11 job.php(42): XF\Job\Manager->runQueue(false, 8)
#12 {main}

Request state
array(4) {
  ["url"] => string(8) "/job.php"
  ["referrer"] => string(52) "https://www.domain.com/admin.php?user-groups/"
  ["_GET"] => array(0) {
  }
  ["_POST"] => array(0) {
  }
}
Please follow this guide if you migrate from XF 1.5.x to this version:

 
Please follow this guide if you migrate from XF 1.5.x to this version:
It didn't work. I uninstall and try a fresh install but get this error..
Code:
XF\Db\Exception: MySQL query error [1146]: Table 'db_xxxxxxxx.xf_image_optimizer_log' doesn't exist in src/XF/Db/AbstractStatement.php at line 217
XF\Db\AbstractStatement->getException() in src/XF/Db/Mysqli/Statement.php at line 196
XF\Db\Mysqli\Statement->getException() in src/XF/Db/Mysqli/Statement.php at line 77
XF\Db\Mysqli\Statement->execute() in src/XF/Db/AbstractAdapter.php at line 89
XF\Db\AbstractAdapter->query() in src/XF/Install/InstallHelperTrait.php at line 213
XF\AddOn\AbstractSetup->executeUpgradeQuery() in src/XF/AddOn/AbstractSetup.php at line 86
XF\AddOn\AbstractSetup->query() in src/addons/Truonglv/ImageOptimizer/Setup.php at line 26
Truonglv\ImageOptimizer\Setup->installStep1() in src/XF/AddOn/StepRunnerInstallTrait.php at line 60
Truonglv\ImageOptimizer\Setup->installStepRunner() in src/XF/AddOn/StepRunnerInstallTrait.php at line 27
Truonglv\ImageOptimizer\Setup->install() in src/XF/Admin/Controller/AddOn.php at line 398
XF\Admin\Controller\AddOn->actionInstall() in src/XF/Mvc/Dispatcher.php at line 321
XF\Mvc\Dispatcher->dispatchClass() in src/XF/Mvc/Dispatcher.php at line 248
XF\Mvc\Dispatcher->dispatchFromMatch() in src/XF/Mvc/Dispatcher.php at line 100
XF\Mvc\Dispatcher->dispatchLoop() in src/XF/Mvc/Dispatcher.php at line 50
XF\Mvc\Dispatcher->run() in src/XF/App.php at line 2177
XF\App->run() in src/XF.php at line 392
XF::runApp() in admin.php at line 13
 
It didn't work. I uninstall and try a fresh install but get this error..
Code:
XF\Db\Exception: MySQL query error [1146]: Table 'db_xxxxxxxx.xf_image_optimizer_log' doesn't exist in src/XF/Db/AbstractStatement.php at line 217
XF\Db\AbstractStatement->getException() in src/XF/Db/Mysqli/Statement.php at line 196
XF\Db\Mysqli\Statement->getException() in src/XF/Db/Mysqli/Statement.php at line 77
XF\Db\Mysqli\Statement->execute() in src/XF/Db/AbstractAdapter.php at line 89
XF\Db\AbstractAdapter->query() in src/XF/Install/InstallHelperTrait.php at line 213
XF\AddOn\AbstractSetup->executeUpgradeQuery() in src/XF/AddOn/AbstractSetup.php at line 86
XF\AddOn\AbstractSetup->query() in src/addons/Truonglv/ImageOptimizer/Setup.php at line 26
Truonglv\ImageOptimizer\Setup->installStep1() in src/XF/AddOn/StepRunnerInstallTrait.php at line 60
Truonglv\ImageOptimizer\Setup->installStepRunner() in src/XF/AddOn/StepRunnerInstallTrait.php at line 27
Truonglv\ImageOptimizer\Setup->install() in src/XF/Admin/Controller/AddOn.php at line 398
XF\Admin\Controller\AddOn->actionInstall() in src/XF/Mvc/Dispatcher.php at line 321
XF\Mvc\Dispatcher->dispatchClass() in src/XF/Mvc/Dispatcher.php at line 248
XF\Mvc\Dispatcher->dispatchFromMatch() in src/XF/Mvc/Dispatcher.php at line 100
XF\Mvc\Dispatcher->dispatchLoop() in src/XF/Mvc/Dispatcher.php at line 50
XF\Mvc\Dispatcher->run() in src/XF/App.php at line 2177
XF\App->run() in src/XF.php at line 392
XF::runApp() in admin.php at line 13
What is error when run above queries?
 
At first: Table xf_image_optimizer_log doesn't exist
Then i delete the the DROP and RENAME row and got: Table tl_image_optimizer_log doesn't exist
 
I was hesitant to upgrade after seeing so many error issues, well ,here I have them, 2 pages thus far.
Code:
League\Flysystem\FileNotFoundException: [tl] Image Optimizer: File not found at path: avatars/h/0/17.jpg src/vendor/league/flysystem/src/Filesystem.php:385
Generated by: Unknown account Dec 27, 2018 at 4:54 AM
Stack trace
#0 src/vendor/league/flysystem/src/Filesystem.php(193): League\Flysystem\Filesystem->assertPresent('avatars/h/0/17....')
#1 [internal function]: League\Flysystem\Filesystem->readStream('avatars/h/0/17....', Array)
#2 src/vendor/league/flysystem-eventable-filesystem/src/EventableFilesystem.php(431): call_user_func_array('parent::readStr...', Array)
#3 src/vendor/league/flysystem-eventable-filesystem/src/EventableFilesystem.php(395): League\Flysystem\EventableFilesystem\EventableFilesystem->callFilesystemMethod('readStream', Array)
#4 src/vendor/league/flysystem-eventable-filesystem/src/EventableFilesystem.php(154): League\Flysystem\EventableFilesystem\EventableFilesystem->delegateMethodCall('readStream', Array)
#5 [internal function]: League\Flysystem\EventableFilesystem\EventableFilesystem->readStream('avatars/h/0/17....')
#6 src/vendor/league/flysystem/src/MountManager.php(269): call_user_func_array(Array, Array)
#7 src/vendor/league/flysystem/src/MountManager.php(179): League\Flysystem\MountManager->invokePluginOnFilesystem('readStream', Array, 'data')
#8 src/XF/Util/File.php(91): League\Flysystem\MountManager->__call('readStream', Array)
#9 src/addons/Truonglv/ImageOptimizer/Job/Optimizer.php(122): XF\Util\File::copyAbstractedPathToTempFile('data://avatars/...')
#10 src/addons/Truonglv/ImageOptimizer/Job/Optimizer.php(83): Truonglv\ImageOptimizer\Job\Optimizer->optimizeImageFile('data://avatars/...')
#11 src/addons/Truonglv/ImageOptimizer/Job/Optimizer.php(51): Truonglv\ImageOptimizer\Job\Optimizer->processImages(Array, 'avatar', Object(XF\Timer), 1378127034)
#12 src/XF/Job/Manager.php(241): Truonglv\ImageOptimizer\Job\Optimizer->run(G)
#13 src/XF/Job/Manager.php(187): XF\Job\Manager->runJobInternal(Array, G)
#14 src/XF/Job/Manager.php(76): XF\Job\Manager->runJobEntry(Array, G)
#15 job.php(14): XF\Job\Manager->runQueue(false, 8)
#16 {main}
Request state
array(4) {
  ["url"] => string(18) "/community/job.php"
  ["referrer"] => string(64) "https://sphynxlair.com/community/forums/sphynx-cat-questions.20/"
  ["_GET"] => array(0) {
  }
  ["_POST"] => array(0) {
  }
}
Delete
 
I was hesitant to upgrade after seeing so many error issues, well ,here I have them, 2 pages thus far.
Code:
League\Flysystem\FileNotFoundException: [tl] Image Optimizer: File not found at path: avatars/h/0/17.jpg src/vendor/league/flysystem/src/Filesystem.php:385
Generated by: Unknown account Dec 27, 2018 at 4:54 AM
Stack trace
#0 src/vendor/league/flysystem/src/Filesystem.php(193): League\Flysystem\Filesystem->assertPresent('avatars/h/0/17....')
#1 [internal function]: League\Flysystem\Filesystem->readStream('avatars/h/0/17....', Array)
#2 src/vendor/league/flysystem-eventable-filesystem/src/EventableFilesystem.php(431): call_user_func_array('parent::readStr...', Array)
#3 src/vendor/league/flysystem-eventable-filesystem/src/EventableFilesystem.php(395): League\Flysystem\EventableFilesystem\EventableFilesystem->callFilesystemMethod('readStream', Array)
#4 src/vendor/league/flysystem-eventable-filesystem/src/EventableFilesystem.php(154): League\Flysystem\EventableFilesystem\EventableFilesystem->delegateMethodCall('readStream', Array)
#5 [internal function]: League\Flysystem\EventableFilesystem\EventableFilesystem->readStream('avatars/h/0/17....')
#6 src/vendor/league/flysystem/src/MountManager.php(269): call_user_func_array(Array, Array)
#7 src/vendor/league/flysystem/src/MountManager.php(179): League\Flysystem\MountManager->invokePluginOnFilesystem('readStream', Array, 'data')
#8 src/XF/Util/File.php(91): League\Flysystem\MountManager->__call('readStream', Array)
#9 src/addons/Truonglv/ImageOptimizer/Job/Optimizer.php(122): XF\Util\File::copyAbstractedPathToTempFile('data://avatars/...')
#10 src/addons/Truonglv/ImageOptimizer/Job/Optimizer.php(83): Truonglv\ImageOptimizer\Job\Optimizer->optimizeImageFile('data://avatars/...')
#11 src/addons/Truonglv/ImageOptimizer/Job/Optimizer.php(51): Truonglv\ImageOptimizer\Job\Optimizer->processImages(Array, 'avatar', Object(XF\Timer), 1378127034)
#12 src/XF/Job/Manager.php(241): Truonglv\ImageOptimizer\Job\Optimizer->run(G)
#13 src/XF/Job/Manager.php(187): XF\Job\Manager->runJobInternal(Array, G)
#14 src/XF/Job/Manager.php(76): XF\Job\Manager->runJobEntry(Array, G)
#15 job.php(14): XF\Job\Manager->runQueue(false, 8)
#16 {main}
Request state
array(4) {
  ["url"] => string(18) "/community/job.php"
  ["referrer"] => string(64) "https://sphynxlair.com/community/forums/sphynx-cat-questions.20/"
  ["_GET"] => array(0) {
  }
  ["_POST"] => array(0) {
  }
}
Delete
That is log for warning.
 
Top Bottom