Since 2.4, Piwigo has an automatic generation system for thumbnails and other resized pictures.
Piwigo calls i.php to generate the resized picture in ./_data/i/, then directly calls the resized picture from ./_data/i/.
Many problem may appear : an overloading of the server, a picture that is too big or with a wrong extension, not enough permission on files/folders etc
Check if an error is returned by the i.php url : in the Batch Manager, right-click on a failed picture then “Display the picture” or “copy the url to the picture”, from your browser. You can also try to display the source code of the page (Ctrl+U usually) and search (Ctrl+F) for an url with “i.php”. Then go to this url with your browser and note any error message displayed.
“source not found” : check by Ftp, if the source picture exists and if the permissions of the file is enough (Chmod : 755 folders, 644 files). If it's still not solved, be sure the Php user/system has enough rights on your server
“dir create error” : check by Ftp, if the permissions of the folders are set right (Chmod : 755 folders, 644 files). If it's still not solved, be sure the Php user/system has enough rights on your server
“Empty array while parsing Sizing” “Sizing arr” “Invalid chars in request”… : the theme or plugin is not working, post on the forum with a list of the plugin used and your theme
404 error page : the file i.php is missing. Download the zip from piwigo.org, extract and upload the files by Ftp. Overwrite all the files : you will not lose any customization or pictures.
403 error page : check the permission on the file i.php (and the other files also). Chmod : 755 folders, 644 files.
“500 Internal error page” or “PHP Fatal Error: Allowed memory size of …” : many problems may cause this error. If some pictures are generated and others not, it might be due to an overload of your server (just wait a few hours) or a lack of memeory for PHP (ask to your hoster to change the memory_limit option). If the graphical library is GD (first admin page), install Imagemagick [see below the paragraph related to Imagemagick]
With Localfiles Editor, put this local config variable : $conf['enable_i_log'] = true; . Then try to generate some size with the Batch Manager. Once started, you can go to _data/tmp/i.log and open the file to see if there is any error message in it. Post on the forum the content of that file
You can also read the instructions for “500 Internal error page” and use Imagemagick. Or post a url to your website with public visible pictures Thanks
Check the level of privacy : in the Batch Manager, click on Edit for a problematic picture. Check the level of privacy, under “Who can see this photo?”. Then go to User→Manage→Properties column and be sure the level of privacy of the users match the one set for the picture.
On the Batch Manager, if the picture has a level of privacy different from “Everyone”, it's written right on the thumbnails.
Check the visibility of the albums : Go to Album→Properties, and check if the albums are private or not. If they are private, and you did it by mistake, revert them back to public. If not, go to Album→Manage then browse to the album, and then click Edit. Or go to the album on the public part, and click the edit icon. Once you are the edition page, click on the Permission tab : you can see exactly what you see for that album, by clicking on “Show Details”. Enable the plugin Admin Tools, the easiest and fastest way to verify Who Can See What : it opens a pop-up and then select a user in the drop-down list
Imagemagick is much more efficient than the GD Graphics Library : less resource consumption on the server and higher quality pictures rendered. Many problem can be solved by changing the graphical library from GD to IM, and your hoster will be glad. Use the following variables with Localfiles Editor :
// Library used for image resizing. Value could be 'auto', 'imagick',// 'ext_imagick' or 'gd'. If value is 'auto', library will be choosen in this// order. If choosen library is not available, another one will be picked up.$conf['graphics_library']='ext_imagick';// If library used is external installation of ImageMagick ('ext_imagick'),// you can define imagemagick directory.$conf['ext_imagick_dir']='/usr/local/bin/';//change with own path!
Ask to your hoster for the path to the Imagemagick binaries.