Вот что у меня сейчас:
<?php
define('DRUPAL_ROOT', '/var/www/clients/client1/web15/web');
include_once(DRUPAL_ROOT . '/includes/bootstrap.inc');
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
// drupal_flush_all_caches();
$users = views_get_view_result('userlist', 'uid_list');
$i = 0;
foreach ($users as $user) {
$filename = 'sites/default/files/generated_pdfs/individual_pdf_report_' . $user->uid . '.pdf';
generate_employee_pdf($user->uid, $filename);
error_log('Generated ' . $filepath);
$i++;
}
// create object
$zip = new ZipArchive();
// open archive
if ($zip->open("sites/default/files/generated_zips/individual-reports.zip", ZIPARCHIVE::CREATE) !== TRUE) {
die ("Could not open archive");
}
// initialize an iterator
// pass it the directory to be processed
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator("sites/default/files/generated_pdfs/"));
// iterate over the directory
// add each file found to the archive
foreach ($iterator as $key=>$value) {
$zip->addFile(realpath($key), $value->getFilename()) or die ("ERROR: Could not add file: $key");
}
// close and save archive
$zip->close();
?>
Я получаю кучу ошибок из вышеперечисленного, когда запускаю автономно. Хорошо работает в моем модуле. Некоторые из ошибок:
Warning: Invalid argument supplied for foreach() in drupal_depth_first_search() (line 56 of /var/www/clients/client1/web15/web/includes/graph.inc).
Warning: Invalid argument supplied for foreach() in _module_build_dependencies() (line 229 of /var/www/clients/client1/web15/web/includes/module.inc).
Warning: include_once(sites/all/modules/views_bulk_operations/actions/archive.action.inc): failed to open stream: No such file or directory in views_bulk_operations_load_action_includes() (line 56 of /var/www/clients/client1/web15/web/sites/all/modules/views_bulk_operations/views_bulk_operations.module).
7
bootstrapping
Joren
источник
источник
Ответы:
Безусловно, самый простой способ управлять загрузкой - использовать php-скрипт drush , псевдоним scr.
file.php:
Кли:
Выход:
Таким образом, вам ничего не нужно делать с начальной загрузкой, drush решит ее полностью за вас и даст вам возможность легко использовать ее на разных сайтах благодаря псевдонимам. (Может даже работать на удаленных сайтах, хотя я этого не пробовал)
источник
@alias
должен делать? Я только получаюCould not find the alias @alias
. К сожалению, указанная вами ссылка не работает. Не могли бы вы исправить это и расширить свое объяснение?ваш автономный загрузчик Drupal 7 не совсем подходит.
Попробуй это:
Надеюсь это поможет.
источник
require_once DRUPAL_ROOT . '...'; // include required module files to work with here
достаточно:
источник
Последняя ошибка
это ошибка в VBO. views_bulk_operations_load_action_include () не использует DRUPAL_ROOT при использовании include_once. Я бы подал ошибку и исправил ее в VBO.
Другая ошибка (2 связаны друг с другом) может быть связана с _system_rebuild_module_data (), не использующей DRUPAL_ROOT при доступе к файлу .info модулей. Я бы поставил точки останова в system_rebuild_module_data () для переменной $ modules и посмотрел, сможешь ли ты ее указать. Еще раз подайте ошибку с ядром drupal, так как я не вижу этой проблемы в очереди.
Удачи!
источник