drupal bootstrap és a php-cli

nevergone képe

Sziasztok!

Régebben elég gyakran alkalmaztam azt a technikát nagyobb adat-műveleteknél, hogy a Drupalt "bootstrap" állapotba hoztam, így elérhető volt a Drupal függvények többsége (a hook és smink-függvények nyilvánvalóan nem), és a php-cli (parancssoros PHP) segítségével el tudtam végezni a szükséges műveleteket a tárhelyemen.
Többek közt előnye ennek a megoldásnak, hogy a PHP nem fut ki a rendelkezésre álló időből, általában az ilyen futtatásnak nagyobb memória-korlátot is engedélyezek. Akkor is jó szolgálatot tett, ha valamiért egy parancssoros programban szükség volt a Drupal adatbáziskezelő-rétegére, és nem kellett azzal vesződni, hogy milyen módon kell a különféle típusú adatbázisokhoz kapcsolódni, és azokat használni.
A szkriptjeim így kezdődtek:

#!/usr/bin/php
 
<?php
  include_once('includes/bootstrap.inc');
  drupal_bootstrap(DRUPAL_BOOTSTRAP_DATABASE);
  ...
?>

Ez jól működött egészen mostanáig, de ahogy elnézem, Drupal 6 alatt már nem működik ez a megoldás, egyik sem produkál semmit. Találtam egy ilyent, de attól tartok, ez nem igazán az én problémámat oldja meg: http://drupal.org/node/59863
Tudna valaki segíteni esetleg?

Drupal verzió: 
sgabe képe

Nem az includenál van valami gubanc?

0
0
nevergone képe

Mire gondolsz pontosan? Ezt egy régi szkriptből másoltam ki, ami Drupal 6 alatt már nem működik.

0
0
aboros képe

valamit benéztél, működnie _kell_
kiabálj rá nagyot, hogy MUKODJ!
http://api.drupal.org/api/function/drupal_bootstrap/6

0
0

-
clear: both;

nevergone képe

Ezt ismerem, mert használtam eleget régebben.
Most kipróbáltam, és ugyanaz a szkript, ami Drupal 5 alatt megy szépen, Drupal 6 alatt csak ennyi hibaüzenetet ad, és persze a feladatát nem végzi el:

Warning: Cannot modify header information - headers already sent by (output started at /var/www/teszt/drupal6/filedump.php:3) in /var/www/teszt/drupal6/includes/bootstrap.inc on line 297

Ugyanaz a szkript, ugyanaz a PHP verzió és beállítás, minden azonos.

Szerk: a hibaüzenetet a PHP interpreter és a nyitó PHP jel közti üres sor okozta, ha kitörlöm, akkor nincs hibaüzenet, viszont továbbra sem csinál semmit. Érdekes, hogy Drupal 5 alatt abból az üres sorból semmilyen probléma nem származott.

0
0
Illyés Edit képe

Próbáld kiszedni a filedump.php-ből a php előtt és után az üres sorokat. Egyébként biztos, hogy működik, én is használom, bár én DRUPAL_BOOTSTRAP_FULL-lal.

0
0
aboros képe

az se megy?
valami elgépelés vagy hasonló gyász kell, hogy legyen, olyan nincs, hogy nem megy a bootstrap, gondold el, ha nem megy a bootstrap, hogyan áll fel a drupal? mennie _kell_!

0
0

-
clear: both;

nevergone képe

Nem azt mondtam, hogy nem működik a bootstrap, hanem hogy Drupal 6 alatt "cli" módban meg sem nyikkan. Nincs elgépelés (nem találtam), és ugyanez a szkript Drupal 5 alatt szépen muzsikál, ezért nem gondolom azt sem, hogy valami PHP beállítás lenne a probléma.
Természetesen FULL_BOOTSTRAP -pal is ugyanez a helyzet.

0
0
aboros képe

de egy "gyere-drupal.php" a gyökérben, a fenti kóddal, az nagyon szépen bootol, ahogy kell. úgyhogy a kutya a cliben van elásva, tuti.

0
0

-
clear: both;

nevergone képe

Parancssoros (nem böngészőből futtatott) PHP, apt-get install php5-cli ;)
Azért nem gondolok alapvetően PHP hibára, mert régebbi Drupal verziók jól működik az egész. Átküldtem egy példaszkriptet, megnézed? :)

0
0
york képe

A php.ini-t megnezted minden oke benne?
A cli sajat php.ini-t hasznal.

0
0
nevergone képe

Igen, mint fentebb elmondtam, ugyanazon a gépen, ugyanazon a PHP konfigurációval Drupal 5 alatt mindegyik jól működik.

0
0