On a new Roundcube (0.7) installation I recently did, something strange has happened: The defined plugins were not loaded and the error log was full with errors like these:
PHP Error: Failed to load plugin file /var/www/roundcube/plugins/lang_sel/lang_sel.php in /var/www/roundcube-0.7/program/include/rcube_plugin_api.php on line 196 (GET /) PHP Error: Failed to load plugin file /var/www/roundcube/plugins/authenticate_by_confixx_email/authenticate_by_confixx_email.php in /var/www/roundcube-0.7/program/include/rcube_plugin_api.php on line 196 (GET /) PHP Error: Failed to load plugin file /var/www/roundcube/plugins/persistent_login/persistent_login.php in /var/www/roundcube-0.7/program/include/rcube_plugin_api.php on line 196 (GET /)
At the begin I thought it could be a problem with the path, but it was correct (roundcube is a symlink to roundcube-0.7). Even by manually changing the vhost this didn't change the problem. Another fact is that I use the exact same installation with the same configuration and plugins on another host, but one which is running on PHP 5.2.x.
Even by googling for this problem didn't find any clues, most of the hints were due to wrong paths or include path definitions.
But then it hit me! Just out of the blue I thought, what the heck, I check the permissions again and look at that:
/var/www/roundcube/plugins # ll total 128K drwxr-xr-x 4 501 80 4.0K Dec 22 10:20 acl drwxr-xr-x 2 501 80 4.0K Dec 22 10:20 additional_message_headers drwxr-xr-x 4 501 80 4.0K Dec 22 10:20 archive drwxr-xr-x 2 root root 4.0K Nov 4 12:45 authenticate_by_confixx_email drwxr-xr-x 2 501 80 4.0K Dec 22 10:20 autologon drwxr-xr-x 2 501 80 4.0K Dec 22 10:20 database_attachments drwxr-xr-x 3 501 80 4.0K Dec 22 10:20 debug_logger drwxr-xr-x 2 501 80 4.0K Dec 22 10:20 emoticons drwxr-xr-x 6 501 80 4.0K Dec 22 10:20 enigma drwxr-xr-x 2 501 80 4.0K Dec 22 10:20 example_addressbook drwxr-xr-x 2 501 80 4.0K Dec 22 10:20 filesystem_attachments drwxr-xr-x 5 501 80 4.0K Dec 22 10:20 help drwxr-xr-x 2 501 80 4.0K Dec 22 10:20 http_authentication drwxr-xr-x 4 501 80 4.0K Dec 22 10:20 jqueryui drwxr-xr-x 2 501 80 4.0K Dec 29 11:41 lang_sel drwxr-xr-x 6 501 80 4.0K Dec 22 10:50 managesieve drwxr-xr-x 4 501 80 4.0K Dec 22 10:20 markasjunk drwxr-xr-x 3 501 80 4.0K Dec 22 10:20 newmail_notifier drwxr-xr-x 3 501 80 4.0K Dec 22 10:20 new_user_dialog drwxr-xr-x 2 501 80 4.0K Dec 22 10:20 new_user_identity drwxr-xr-x 4 501 80 4.0K Dec 22 11:42 password drwxr-xr-x 4 root root 4.0K Dec 27 13:12 persistent_login drwxr-xr-x 2 root root 4.0K Oct 16 13:21 qtip drwxr-xr-x 2 501 80 4.0K Dec 22 10:20 redundant_attachments drwxr-xr-x 4 root root 4.0K Dec 22 11:38 settings drwxr-xr-x 2 501 80 4.0K Dec 22 10:20 show_additional_headers drwxr-xr-x 2 501 80 4.0K Dec 22 10:20 squirrelmail_usercopy drwxr-xr-x 3 501 80 4.0K Dec 22 10:20 subscriptions_option drwxr-xr-x 3 501 80 4.0K Dec 22 10:20 userinfo drwxr-xr-x 4 501 80 4.0K Dec 22 10:20 vcard_attachments drwxr-xr-x 2 501 80 4.0K Dec 22 10:20 virtuser_file drwxr-xr-x 2 501 80 4.0K Dec 14 14:01 virtuser_query
Now isn't that something. All the plugins which were mentioned in the error log are the ones owned by root (I added them manually as they are not part of the original Roundcube installation). As soon as I corrected the ownership of these plugin folders (and their files) / set them to the same user as the others, the plugins were loaded fine and no errors appeared in the error logs anymore.
Like I already mentioned, this worked fine on PHP 5.2.x but on PHP 5.3.x it seems to cause troubles. |