Zdravím.
Měl jsem řadu let web caslavsko.net u jednoho poskytovatele, s kterým mám jinak dobré osobní vztahy a rád bych to tam nechal i nadále. Jenomže nedávno zrušil testovací server, kde caslavsko bylo a přesunul je na jiný, řekněme produkční, kde jsou nejspíše více "tvrdá" bezpečností pravidla. Přesun klapnul až na krátký několikahodinový problém s administrací (nežli se přepsaly DNS záznamy) dobře. Tedy až do okamžiku, kdy jsem chtěl nahrát obrázek. To skončilo s chybou "neznámý formát obrázku".
Myslel jsem nejdříve že je nějaký problém s obrázkem (nebyl, i obrázky které jsem tam již nahrával nyní nejdou)
Druhá myšlenka byla, že se jedná o problém s mou úpravou galerie, mám jí vlastní v podobě třídy s více funkcemi (např. možnost nahrát více obrázků naráz, nebo nadefinovat více náhledů a tak dále) Také to není ono, původní galerie, která je tam také nefunguje - akorát chybová hláška je anglicky, ale stejného významu.
Je pochopitelně potlačeno zobrazování chyb, ale hledal jsem v kodu a zjistil jsem že funkce getimagesize() nevrací pole, což by měla. Pak jsem na googlu našel poznámku o open_basedir restrikci této funkce. Tomu nerozumím moc dobře ale představuju si to jako prostor kam funkce smí a adresář /tmp je prostě někde mimo.
Na webu není povoleno phpinfo() ani většina ini_set, ale nakonec jsem zjistil že nastavit hlášení chyb pomocí ini_set možné je a dalo mi to tuto hlášku:
Warning: getimagesize(): open_basedir restriction in effect. File(/tmp/php5cS895) is not within the allowed path(s): (/var/www/virtual/caslavsko.net/public_html) in /var/www/virtual/caslavsko.net/public_html/admin/aimggal.php on line 538 Warning: getimagesize(/tmp/php5cS895): failed to open stream: Operation not permitted in /var/www/virtual/caslavsko.net/public_html/admin/aimggal.php on line 538
a na řádku 537 a 538 je pochopitelně:
// ziskani informaci o souboru
$probrparametry=GetImageSize($prsoubor);
Podle všeho to krachne na těch ověřovacích rutinách, kdy se informace o obrázku získá pomocí getimagesize a tím skript nepokračuje. Napsal jsem adminovi a ten odpověděl toto:
Pro upload obrazku jsem povolil tuto cestu: /var/www/virtual/caslavsko.net/tmp
Zkuste prosim prekonfigurovat z /tmp ma novou a melo by to bezet.
nj, ale co se myslí tím překonfigurovat z ... nerozumím tomu.
Chápu ho jako admina že mu nejspíše jde o bezpečnost v první řadě (na tom serveru bude více projektů a z mého nic nemá, kdežto ty ostatní ho živí. Problém si nemůže dovolit.). Krom toho mi kdysi JanVar vysvětloval jak má admin správně postupovat, tedy vše zakázat a pokud uživatelé moc řvou tam sem tam něco povolit (nepřesná citace) ;-)
Ale prostě tomu nerozumím a nevím si rady. Navíc v připravované verzi tam bude více míst, kde se bude něco nahrávat (i když, krom obrázků, bude vše z administrace). Pokud tomu někdo rozumíte, tak bych byl povděčen. Změnit hosting se mi nechce, podmínky a funkčnost je jinak vynikající. Navíc z přesunů databáze mám pupínky odjakživa.
Hepbegclub | Čáslavsko | MN Čáslav
Celkem upraveno 1×. Poslední úprava Kryšpín v 11.01.2012 17:03.