Das habe ich gerade:
<?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();
?>
Ich erhalte eine Reihe von Fehlern aus dem oben genannten, wenn Standalone ausgeführt wird. Funktioniert gut in meinem Modul. Einige der Fehler sind:
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
quelle
quelle
Antworten:
Der mit Abstand einfachste Weg, den Bootstrap zu verwalten, ist die Verwendung von drush php-script , alias scr.
file.php:
Cli:
Ausgabe:
Auf diese Weise müssen Sie mit dem Bootstrap nichts zu tun haben. Drush wird es für Sie vollständig lösen und Ihnen die Möglichkeit geben, es dank Aliasen problemlos über Websites hinweg zu verwenden. (Könnte sogar an entfernten Standorten funktionieren, obwohl ich das nicht ausprobiert habe.)
quelle
@alias
soll das tun? Ich bekomme nur eineCould not find the alias @alias
. Der von Ihnen angegebene Link ist leider fehlerhaft. Könnten Sie es bitte beheben und Ihre Erklärung erweitern?Ihr eigenständiger Drupal 7-Bootstrap ist nicht ganz richtig.
Versuche dies:
Hoffe das hilft.
quelle
require_once DRUPAL_ROOT . '...'; // include required module files to work with here
das ist genug:
quelle
Der letzte Fehler
ist ein Fehler in VBO. views_bulk_operations_load_action_includes () verwendet DRUPAL_ROOT nicht, wenn include_once verwendet wird. Ich würde einen Fehler melden und ihn in VBO beheben.
Der andere Fehler (die 2 sind miteinander verbunden) kann mit _system_rebuild_module_data () zusammenhängen, das DRUPAL_ROOT nicht verwendet, wenn auf die INFO-Datei des Moduls zugegriffen wird. Ich würde Unterbrechungspunkte in system_rebuild_module_data () für die Variable $ modules einfügen und sehen, ob Sie sie festlegen können. Nochmals einen Fehler mit Drupal-Kern melden, da ich dieses Problem nicht in der Problemwarteschlange sehe.
Viel Glück!
quelle