Forums / Install & configuration / ImageMagick without write access on a filer gives no images

ImageMagick without write access on a filer gives no images

Author Message

Xavier Gouley

Monday 29 September 2008 4:06:58 am

Hi,

In a special cluster configuration, we have a filer and 3 web servers. Only one of these servers (admin server) can write to the filer (eZpublish PHP files). (Cache folders are not in the filer, but locally to each one).

The problem is that in this configuration, the servers who have no write access to the filer (in the Var directory, especially) can't generate proper cache file for image that are not in the original image class.

In details :
When a web server want to build its cache files, it calls lib/ezimage classes. In these classes, ImagieMagick is called to build non original image classes files (medium, tiny, etc...). BUT when the image already exists, ImageMagick is even called to write above each image (to make the same image sometimes...). When write access is not given, ImageMagick returns false, and then the image is not included in the cache files.

Have ever tried this configuration ? Have you got a good solution to correct this ?

I made the following patch in /lib/ezimage/classes files :
ezimageshellhandler.php, line 142 :
replaced "return false;" by "return file_exists( $destinationMimeData['url'] );"
ezimagemanager.php, line 914 :
removed "return false" line, to let execution continue...

With these modifications, when write access is not given, and the image already exists, the image is returned (even if it is outdated... but it is better thant nothing !) ; and when the image does not exists yet, the original image is used instead (better than nothing, also...)

Have a better solution ? Do you think it is a bug ?

Xavier Gouley
http://www.gxapplications.com/eng_blog/GX-Admin-s-Blog/

eZ debug

Timing: Jan 18 2025 10:59:49
Script start
Timing: Jan 18 2025 10:59:49
Module start 'content'
Timing: Jan 18 2025 10:59:49
Module end 'content'
Timing: Jan 18 2025 10:59:50
Script end

Main resources:

Total runtime0.9210 sec
Peak memory usage4,096.0000 KB
Database Queries183

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0068 588.0859180.7891
Module start 'content' 0.00680.6940 768.8750477.5859
Module end 'content' 0.70090.2201 1,246.4609333.1875
Script end 0.9209  1,579.6484 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00400.4388210.0002
Check MTime0.00140.1568210.0001
Mysql Total
Database connection0.00110.116710.0011
Mysqli_queries0.846791.93551830.0046
Looping result0.00210.22561810.0000
Template Total0.892896.920.4464
Template load0.00160.175120.0008
Template processing0.891296.764520.4456
Template load and register function0.00010.014910.0001
states
state_id_array0.00090.095110.0009
state_identifier_array0.00070.070920.0003
Override
Cache load0.00130.1445170.0001
Sytem overhead
Fetch class attribute can translate value0.00210.233220.0011
Fetch class attribute name0.00060.065520.0003
XML
Image XML parsing0.00240.259720.0012
class_abstraction
Instantiating content class attribute0.00000.000520.0000
General
dbfile0.00880.9540270.0003
String conversion0.00000.000630.0000
Note: percentages do not add up to 100% because some accumulators overlap

CSS/JS files loaded with "ezjscPacker" during request:

CacheTypePacklevelSourceFiles
CSS0extension/community/design/community/stylesheets/ext/jquery.autocomplete.css
extension/community_design/design/suncana/stylesheets/scrollbars.css
extension/community_design/design/suncana/stylesheets/tabs.css
extension/community_design/design/suncana/stylesheets/roadmap.css
extension/community_design/design/suncana/stylesheets/content.css
extension/community_design/design/suncana/stylesheets/star-rating.css
extension/community_design/design/suncana/stylesheets/syntax_and_custom_tags.css
extension/community_design/design/suncana/stylesheets/buttons.css
extension/community_design/design/suncana/stylesheets/tweetbox.css
extension/community_design/design/suncana/stylesheets/jquery.fancybox-1.3.4.css
extension/bcsmoothgallery/design/standard/stylesheets/magnific-popup.css
extension/sevenx/design/simple/stylesheets/star_rating.css
extension/sevenx/design/simple/stylesheets/libs/fontawesome/css/all.min.css
extension/sevenx/design/simple/stylesheets/main.v02.css
extension/sevenx/design/simple/stylesheets/main.v02.res.css
JS0extension/ezjscore/design/standard/lib/yui/3.17.2/build/yui/yui-min.js
extension/ezjscore/design/standard/javascript/jquery-3.7.0.min.js
extension/community_design/design/suncana/javascript/jquery.ui.core.min.js
extension/community_design/design/suncana/javascript/jquery.ui.widget.min.js
extension/community_design/design/suncana/javascript/jquery.easing.1.3.js
extension/community_design/design/suncana/javascript/jquery.ui.tabs.js
extension/community_design/design/suncana/javascript/jquery.hoverIntent.min.js
extension/community_design/design/suncana/javascript/jquery.popmenu.js
extension/community_design/design/suncana/javascript/jScrollPane.js
extension/community_design/design/suncana/javascript/jquery.mousewheel.js
extension/community_design/design/suncana/javascript/jquery.cycle.all.js
extension/sevenx/design/simple/javascript/jquery.scrollTo.js
extension/community_design/design/suncana/javascript/jquery.cookie.js
extension/community_design/design/suncana/javascript/ezstarrating_jquery.js
extension/community_design/design/suncana/javascript/jquery.initboxes.js
extension/community_design/design/suncana/javascript/app.js
extension/community_design/design/suncana/javascript/twitterwidget.js
extension/community_design/design/suncana/javascript/community.js
extension/community_design/design/suncana/javascript/roadmap.js
extension/community_design/design/suncana/javascript/ez.js
extension/community_design/design/suncana/javascript/ezshareevents.js
extension/sevenx/design/simple/javascript/main.js

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1node/view/full.tplfull/forum_topic.tplextension/sevenx/design/simple/override/templates/full/forum_topic.tplEdit templateOverride template
1content/datatype/view/ezimage.tpl<No override>extension/sevenx/design/simple/templates/content/datatype/view/ezimage.tplEdit templateOverride template
1content/datatype/view/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
3content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
2content/datatype/view/ezxmltags/line.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/line.tplEdit templateOverride template
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 9
 Number of unique templates used: 6

Time used to render debug report: 0.0002 secs