justafish / drupal_amazons3

The AmazonS3 Drupal module allows the local file system to be replaced with S3. Uploads are saved into the drupal file table using D7's new file/stream wrapper system.
http://drupal.org/project/amazons3
24 stars 22 forks source link

Stream Wrapper Configuration not initialized after migrating the Live Database #37

Open crystalpaladin opened 8 years ago

crystalpaladin commented 8 years ago

Live Instance Configured for S3 is working fine... But when I replicate the live instance drupal7 setup along with S3 configuration in a separate environment, The site becomes a blank white page. The status page "admin/reports/status" also becomes blank

After turning on the Error reporting, This is observed(in webpages and status page): Fatal error: Call to a member function getReducedRedundancyPaths() on a non-object in /var/www/sitename/sites/all/modules/contrib/amazons3/src/StreamWrapper.php on line 460

When AmazonS3 is turned off and "public file system" is used instead, the site works fine but images uploaded in S3 is not available(s3 wrappers are not available)

I have a hunch that it has something to do with PHP, Apache Setup/configurations since AmazonS3 worked fine while using LAMPP package(5.6.x) in 32 bit instance. But when tried setting up AmazonS3 in separate 32bit instance "PHP(5.4.6-1ubuntu1.8), Apache(apache2), MySQL(14.14 Distrib 5.5.37)" it didn't work...

But still Couldn't point out the exact culprit here...

This is the Stack trace(attached): stacktrace

crystalpaladin commented 8 years ago

When Disabling the AmazonS3 Module, The stack trace observed is: stacktrace_module_disable

crystalpaladin commented 8 years ago

This is the list of all extra modules present in the instance where S3 is working fine:

mod_access_compat, mod_actions, mod_allowmethods, mod_auth_digest, mod_authn_anon, mod_authn_core, mod_authn_dbd, mod_authn_dbm, mod_authn_socache, mod_authz_core, mod_authz_dbd, mod_authz_dbm, mod_authz_owner, mod_cache, mod_cache_disk, mod_data, mod_dav, mod_dav_fs, mod_dav_lock, mod_dbd, mod_dumpio, mod_echo, mod_expires, mod_ext_filter, mod_filter, mod_headers, mod_include, mod_info, mod_lbmethod_bybusyness, mod_lbmethod_byrequests, mod_lbmethod_bytraffic, mod_lbmethod_heartbeat, mod_lua, mod_mime_magic, mod_proxy, mod_proxy_ajp, mod_proxy_balancer, mod_proxy_connect, mod_proxy_express, mod_proxy_fcgi, mod_proxy_fdpass, mod_proxy_ftp, mod_proxy_http, mod_proxy_scgi, mod_remoteip, mod_slotmem_plain, mod_slotmem_shm, mod_socache_dbm, mod_socache_memcache, mod_socache_shmcb, mod_substitute, mod_suexec, mod_systemd, mod_unique_id, mod_unixd, mod_userdir, mod_vhost_alias

maybe I need to enable one or more module(s) in migrated instance from this list to make S3 work seamlessly. maybe crosschecking with composer libraries (aws, capgemini, doctrine, guzzle, phpdocumentor, phpspec, phpunit, psr, satooshi, sebastian, symfony) and their min requirements will help narrowing it down or maybe not...

deviantintegral commented 8 years ago

I wonder if PHP 5.4 isn't calling the __construct() method on the stream wrapper. I'd be surprised if this was an apache issue. Can you drop a watchdog() or error_log() call in __construct() to see if it's getting called?