ImageManager if created to be easy to integrate with existing server applications such as CMS systems, web hosting controllers or LMS systems.

All I get is an 404 error in the dialog

Most likely mod_rewrite. See below for details.

It just loads and loads forever

Most of the times this because the mod_security plugin is enabled and it blocks the JSON-RPC calls for listing the files. You can normally disable the mod_security engine for specific directories by adding a .htaccess file inside the imagemanager directory. Add the following contents to that file:

SecFilterEngine Off
SecFilterScanPOST Off

It loads an incorrect page when I open the ImageManager

This can be due to many things but the most common is that there is a mod_rewrite rule interfering with the ImageManager page requests. You can most of the times disable this for the imagemanager directory by creating a .htaccess file with the contents below in it and place that one in the imagemanager directory.

# Add this rule to a .htaccess file in the imagemanager directory
RewriteEngine Off

Insert image only inserts thumbnail not full size image

You can change this behavior by modifying the imagemanager_insert_template init option.

Thumbnails does not get generated.

Verify write access to the images folder, also verify your thumbnail.gd.enabled settings if you use the PHP version.

I can't override option XYZ in a specific directory / mc_access not working.

Check the .allow_override option in you config.php/web.config file and also that it's not restricted by some other mc_access file. Remember the config options inherits.

Variable substitution in options is not working.

If you specify for example ${rootpath} remember to place the contents of this option within ' characters instead of " characters if you are using the PHP version. Since PHP will otherwise think that the $ is a internal PHP variable.

This will not work: $mcImageManagerConfig['filesystem.file_templates'] = "${rootpath}/templates/document.htm"
This will work: $mcImageManagerConfig['filesystem.file_templates'] = '${rootpath}/templates/document.htm'

The page is blank/white when I open up MCImageManager

Check your webserver logs, if "display_errors" is off in PHP it will not display them on the page, you need to check the apache error files. You could also upload a simple php file with

<?php phpinfo(); ?>

in it so that you can check the configuration settings in PHP, check for display_errors and any type of logging information.

Uploading to directories fails

Some PHP hosting companies have incorrect settings on their servers these issues can be resolved by:

  • Setting the safe_mode_gid setting to true for your host in the vhost config. Since this is the main problem the group is normally correct but not the user.
  • Using the open_basedir is much more efficient to restrict file access across domains than safe_mode.
  • Change the user that apache is running under so it's matched the ftp server or vice versa.

I can't upload larger files

Make sure that your application runtime is configured correctly:

PHP settings needed in php.ini you can check this with a phpinfo call.

; Maximum allowed size for uploaded files.
upload_max_filesize = 50M

; Maximum size of POST data that PHP will accept.
post_max_size = 50M

In .NET you need to specify this in your web.config:

<system.web>
<!-- Enable 32MB uploads -->
<httpRuntime maxRequestLength="32768" />
</system.web>

Images won't display in preview or as thumbnails

On some hosts the preview of images doesn't work as expected there are two common reasons for this to fail. The first one is that the preview.wwwroot setting can't be configured the second is that the imagemanager is inside a vistual directory.

The more common issue with preview.wwwroot not being auto detected is fairy easy to resolve just set the absolute file system path to where the root of your site is located on disk in that option. For example: preview.wwwroot=/var/www or preview.wwwroot=c:/inetpub/wwwroot this setting is located in config.php/web.config depedning on if you use the PHP or .NET version.

The less common issue is when you have a virtual directory for the imagemanager then you need to set the preview.wwwroot to where the root of this virtual directory is on disk. For example: preview.wwwroot=/var/www/virtualdir and the set the preview.urlprefix to include the virtual name={proto}://{host}/virtualname.

If any of these solutions above shouldn't work try enabling logging by setting log.enabled=true and log.level=debug in the config.php/web.config file. This will write a log with the details used to produce an url out of a file system path into the logs directory.