<<< Back to the TFU FAQ
1. The Flash does not work.
This is the main question and there are several things that could be the reason. Most of the time it's a simple server setting that has to be adjusted. There are different places where problems can happen:
a) The flash does not show
- You don't have Flash >= 8 installed. You can check your version by right clicking on any flash!
- Clean the cache of your browser! Click a couple of time reload before you continue! Retry!
- You have a Javscript error on the page and the Javascript which loads the flash is not executed! In JFU you can select on the options page that the flash is included with the object tag and not by Javascript.
- The folder of the flash is protected with e.g. a .htaccess. Try to call the flash directly in the browser (for version 2.13: TWG admin/upload/tfu_213.swf, in JFU: administrator/components/com_jfuploader/tfu/tfu_213.swf). Direct access to this file is needed. If you have protected the admininstrator folder of Joomla you can move JFU to the components directory of the site. This can be done on the config page of JFU.
- If you have updated JFUploader and the flash does not show anymore: Check if you have the tfu folder in the administration. If you have it in the site move it back to the administration and update again. Test. If it works now you can move the folder to the site again. I will try to improve the update script for the next version that this will be solved automatically.
- You don't have access to this folder or too little restrictions are used! - check if the permissions are right. Some servers to NOT allow 777 on php files (this is not needed). Try 775 or 755 instead! Check the log file - e.g. "error: directory is writable by others" is one of the possible errors. Or e.g. some files have only 600 as permissions. 755 is a very good value most of the time. In JFU you can try different permissions on the Help/Limits tab.
b) Before anything can be done an error is shown: You are trying to use the TGW Upload Flash without...
If you get that the configuration cannot be found or the remote file list is not shown: The flash needs to call the files in the tfu folder!
Check if you can call tfu_login.php directly (in TWG admin/tfu_config.php, in JFU: administrator/components/com_joomla_flash_uploader/tfu/tfu_login.php. Since JFU 2.11: administrator/components/com_jfuploader/tfu/tfu_login.php). Normally there a small info should be displayed. Then please check the following steps:
- You don't have access to this folder or too little restrictions are used! - check if the permissions are right. Some servers to NOT allow 777 on php files (this is not needed). Try 775 or 755 instead! Check the log file - e.g. "error: directory is writable by others" is one of the possible errors. Or e.g. some files have only 600 as permissions. 755 is a very good value most of the time. In JFU you can try different permissions on the Help/Limits tab.
- You have a .htaccess somewhere that restricts that the files can be called (see howto 5 for a workaround).
- If this is not the problem you maybe have the Apache module suhosin active. If this is the case you have to set suhosin.session.encrypt=off. Otherwise the session id is encrypted. TFU is internally using a different parameter for the session because there are already many servers that remove session id's from url's to prevent session riding. And the flash needs to pass the session to tfu_upload.php because this is not done automatically by flash!
- The session does not work! A quite common problem is that the session.save_path is not configured properly on the server and JFU/TFU cannot pass the parameters to the flash. TFU/JFU can make a session workaround (see 5.) but the prefered way is to configure the server properly. Please ask your hoster to fix this. If you can use your own php.ini/.htaccess files to configure your server please read howto 14.
- TFU can make a session workaround! If TFU detects a session problem it creates a folder called session_cache (for JFU administrator/components/com_joomla_flash_uploader/tfu/session_cache; Since JFU 2.11: administrator/components/com_jfuploader/tfu/session_cache) and does the session handling internally. If you still cannot upload and the directory is not created please create it manually because TFU/JFU cannot create it automatically and set the permissions to 777! Please read howto 12. If this does not help please try the next steps.
- If you have a php error displayed when calling tfu_login.php you might shoud upload the files again or check any modifiction you made in the php files!
c) The upload fails
- The flash reports a http error 403/406 after the upload you should copy the provided .htaccess file to the tfu folder. When you get a http error 302 or 500 it is a good idea to try this as well. Some servers handle the requests from the flash not how they should. E.g. mod_security does not allow the requests from the flash in some settings. You can force mod_securityto allows this by extracting the content of the htaccess.zip = the file .htaccess to the directory of the flash! In JFU you can create this file on the JFU upload tab in the administration.
The following 2 lines are in the .htaccess:
SecFilterEngine Off
SecFilterScanPOST Off
Flash has a (known but not yet fixed) bug in the Upload header that causes this error if mod_security is enabled! The .htaccess file does disable this. This is not allowed on all systems. If this is the case you have to ask your hoster to do this for you. If they don't you cannot upload files with TFU (or any other flash solution!).
- You get an http 401 after the upload: Read howto 5.
- Check if you have a file called tfu.log - errors are written in there if you don't have parse errors! (TWG: counter/_mydebug.log; JFU: administrator/components/com_joomla_flash_uploader/tfu/tfu.log; Since JFU 2.11: administrator/components/com_jfuploader/tfu/tfu_log). Check if you have any messages there and simply read them. Many of them really explain whats the problem (e.g. security restrictions, not enough memory, session.save_path in php.ini is not set correctly or points to a directory with no write access ....). Please check howto 19 for details of php upload errors
Redirect the php error log: By default php errors are written to a php_error log. TFU does redirect the errors to the file tfu.log. BUT this is only possible for the errors that happen in the script. If an error happens before because of e.g. a limit in the php.ini the errors are written to the default error log of php. Please read howto 14 how you can redirect this important messages as well!
- Enable upload debugging - Set $enable_upload_debug = true; and $enable_enhanced_debug = true; in the tfu_config.php (for TWG and TFU). For JFU you can enable this on the config page of the JFU administration. Then you see exactly how far your uploads works! If you don't get any entries the tfu_upload.php file is not called! Please check the section before then!
- If your progress bar goes very quick too 100% and the upload fails after this. Then you have maybe a firewall or security suite which caches the upload and causes the upload to fail. Please read howto 18 how to configure your firewall properly.
- Http error 500 or 503 can have several causes. It could be the problem described at c1 or c5. Check this first. Check the tfu.log (see 3.) and the server log for errors. 500 means that there is an internal server error which is normally reported to the error log of the server! Please see also howto 19 for details! If this problem happens when using TWG please set $add_iptc_at_upload to false in the config. Some servers have an error when IPTC data is extracted during upload!
- You get an io error: Sometimes this is a caching problem. Most of the time it helps to delete the browser cache and then to restart the browser. I only had this problem with Firefox once in a while. Try IE too because I never had this error with this browser ;).
This problem does happen sometimes too if you have e.g. Norton Internet Security or other Spyware/Script stopping software. They seem to filter requests that come from flash. Disable the software and retry.
- If you have an ISS as webserver please read this post: http://www.tinywebgallery.com/forum/viewtopic.php?t=2295. 3. is important for TFU.
- HTTP 413 error: This is a really tricky one. This comes if apache does limit the upload. And this cannot be set by php.ini (see howto 14)! Ask your hoster to set the value of LimitRequestBody and/or MaxRequestLen to a higher value (see howto 4)!
- contact me ;).
|