Drupál a fw.hu-n
Frankón felment a drupal. Megörültem a magyarításnak is. Köszönet a készítőnek. localegettext.module, locale.module, i18n.module telepítve a leírásoknak megfelelően, aktiválva. Import/export menű meg is jelent, ahogy az Goba cikkében olvasható. Letöltöttem a http://cvs.drupal.org/viewcvs/contributions/translations/po/hu/ címről Drupal-hu-all-mo.zip anyagot. Kicsomagoltam és az administer / localization / import/export menüpontjánál az Import to language: hungarian választottam ki. Tallózás után a _general.mo -t kiválasztva majd Import .MO kattintva a következő hibaüzenetet kapom:
warning: fopen(): open_basedir restriction in effect. File(/var/tmp/phpqNKkpS) is not within the allowed path(s): (.) in /disk/raid/g/y/gyorinaplo/drupal/modules/localegettext.module on line 179.
A mai napom ezzel ment el, de nem találok rá sehol megoldást. A hiba nálam vagy a fw.hu -ra nem lehet ezt így feltolni?
A segítséget előre is köszönöm és bocs, ha egy kicsit hosszú voltam! :-(
Gábor
■ warning: fopen(): open_basedir restriction in effect. File(/var/tmp/phpqNKkpS) is not within the allowed path(s): (.) in /disk/raid/g/y/gyorinaplo/drupal/modules/localegettext.module on line 179.
A mai napom ezzel ment el, de nem találok rá sehol megoldást. A hiba nálam vagy a fw.hu -ra nem lehet ezt így feltolni?
A segítséget előre is köszönöm és bocs, ha egy kicsit hosszú voltam! :-(
Gábor
open basedir beállítás
figyelmeztetés: fopen(): open_basedir (megnyitási alapkönyvtár) korlátozás van érvényben. A /var/tmp/phpqNKkpS nincs a megengedett könyvtárban: (. - azaz az aktuális könyvtárban) a /disk/.../drupal/modules/localegettext.module állományból nézve (a 179. soron).
Mi nem világos ez alapján?
Goba, Értem én az angolt
Értem én az angolt, csak azt nem, hogy miért ezt dobja!
A fw.hu oldalon a következőket nyilatkozzák:
Módosítottuk a PHP futtatás feltételeit is, megszűntettük a php program indítási könyvtárba való "bezárását". A továbbiakban a teljes felhasználói terület elérhető a PHP alkalmazások részére.
Ezek szerint a localegettext az általam rgisztrált user rendelkezésére álló területen kívülre akar írni?
Gábor
Bocs, ha nagyon lamerkedek, de nekem mindig azt mondták, hogy kérdezzek, ha nem tudok valamit :-)
A kérdés nem mindegy :)
A gond ott nyugszik, hogy a file feltöltési könyvtár az open_basedir-en kívül esik, tehát a feltöltött állomány nem olyan helyre kerül, hogy a localegettext olvasni tudná. Leglábbis úgy próbálja olvasni, hogy ezt a PHP nem hagyja. Talán a
move_uploaded_file()
-al el lehetne mozgatni olyan helyre, ahol olvasható lesz, de erre a Drupalban most nincs megoldás. Viszont egyszerűbben jársz el, ha simán feltöltöd FTP-vel a *.mo állományokat, és írsz egy egyszerű programot, ami betölti az adatbázisba. A_localegettext_import("hu", $filename)
-t kell alkalmazni egy ciklusban, úgy hogy$filename
mindig egy feltöltendő .mo fileneve legyen. Különben lehet, hogy ezt megírom a következő napokban a localegettext-ben, mert szerintem nagyon megkönnyíti a feltöltést az olyan nyelvekre, mint a magyar, ahol sok apróbb mo file van.Megjegyzem, hogy én szeretnék zip feltöltési opciót adni a 4.5.0-ban az új locale modulban (amiben Gerhard Killesreiternek és másoknak köszönhetően beépített gettext támogatás lesz). Ezzel egyben fel lehetne tölteni minden MO-t, es nem kellene ilyen megkerülő trükkökhöz folyamodni. Ez persze neked nem vigasz, mert ez még távol van...
Goba, ... s lőn világossá
... s lőn világosság (mármintazénfejemben :-)).
Most már értem és köszönöm, a részletes választ. :-)
Ma már nem, de holnap mindenképpen nekimegyek a magyarításnak.
Köszönöm, még egyszer:
Gábor
open_basedir a fw-en
a freeweben minden fájlműveletet csak a futó script aktuális könyvtárában, vagy alatta lévő könyvtárban lehet végezni php-val. Ez náluk biztonsági okból létező korlátozás, ami a php.ini-ben van beállítva - ehhez te kívülről nem férsz hozzá. Különben egyik felhasználójuk át-trükközné magát a másik mappájába lelesni annak a szupertitkos php kódjait ;-)
A problámával korábban én is eléggé szívtam, nem kerülhető meg.
Hogy is?
létre kell hozni
Már létrehoztam...
<?php
// $Id: database.mysql.inc,v 1.21 2003/12/08 06:32:18 dries Exp $
function db_connect($url) {
$url = parse_url($url);
// Allow for non-standard MySQL port.
if (isset($url["port"])) {
$url["host"] = $url["host"] . ":" . $url["port"];
}
mysql_connect($url["host"], $url["user"], $url["pass"]) or die(mysql_error());
mysql_select_db(substr($url["path"], 1)) or die("unable to select database");
}
Conf.php