При обновлении модуля s3fs с ветки 7.x-2.x -> 7.x->3.x друпалу не удаётся найти указанный класс. Все необходимые шаги по апгрейду сделаны, как описано в readme.txt модуля.
Это проблема инициализации библиотеки awssdk в s3fs_libraries_info(). Drupal пытается определить версию библиотеки, читая данные файла Aws/Sdk.php, но при этом стоит ограничение о сканировании первых 500 строк. Но шаблон, содержащий версию библиотеки, присутствует в файле гораздо позднее, например, для версии sdk 3.234.4 — это строка 636.
Исправьте s3fs модуль, задав значение 1000.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
/** * Implements hook_libraries_info(). */ function s3fs_libraries_info() { return array( 'awssdk' => array( 'title' => 'AWS SDK for PHP', 'vendor url' => 'http://docs.aws.amazon.com/aws-sdk-php/guide/latest/index.html', 'download url' => 'https://github.com/aws/aws-sdk-php/releases', 'version arguments' => array( 'file' => 'Aws/Sdk.php', 'pattern' => "/const VERSION = '(.*)';/", 'lines' => 1000, ), 'files' => array( 'php' => array( 'aws-autoloader.php', ), ), ), ); } |
Или используйте git патч:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
diff --git www/sites/all/modules/contrib/s3fs/s3fs.module www/sites/all/modules/contrib/s3fs/s3fs.module index 03f4e9322..04ae2b27e 100644 --- www/sites/all/modules/contrib/s3fs/s3fs.module +++ www/sites/all/modules/contrib/s3fs/s3fs.module @@ -75,7 +75,7 @@ function s3fs_libraries_info() { 'version arguments' => array( 'file' => 'Aws/Sdk.php', 'pattern' => "/const VERSION = '(.*)';/", - 'lines' => 500, + 'lines' => 1000, ), 'files' => array( 'php' => array( |