Avatar billede rocky Nybegynder
10. marts 2008 - 18:45 Der er 1 løsning

open_basedir restriction in effect

Hej eksperter

Jeg forsøger at oprette en kalender hvor min clan/guild kan tilmelde sig nogle tidspunkter for hvornår vi skal mødes. Jeg har downloadet en standard template (phpraider), men efter lidt bøvl med installationen får jeg denne fejl:

-------------------------------------
Warning: tempnam() [function.tempnam]: open_basedir restriction in effect. File(C:\WINDOWS\TEMP\) is not within the allowed path(s): (.;E:/hjemmesider/munz/beast.wep.dk;E:/hjemmesider/munz//tmp/) in E:\hjemmesider\munz\beast.wep.dk\phpraider\includes\classes\smarty\internals\core.write_file.php on line 27
----------------------------------------

Efter lidt læsning her på siden kan jeg se det skyldes at safe_mode er on i php.ini hvis jeg har forstået det korrekt. Problemet for mit vedkommende er at denne phpraider ligger på en gratis host, som højst sandsynligt ikke har lyst til at lukke for safe_mode (hvilket er fuldt forståeligt)

Mit spørgsmål til jer, er det muligt at omgå dette ved at ændre disse stier i selve php koden?

Se f.eks. nedenstående kode som tilhører ovenstående fejl. hvordan ændre jeg denne sådan at stien ikke kommer til at ligge i tmp?



------------------------
<?php
/**
* Smarty plugin
* @package Smarty
* @subpackage plugins
*/

/**
* write out a file to disk
*
* @param string $filename
* @param string $contents
* @param boolean $create_dirs
* @return boolean
*/
function smarty_core_write_file($params, &$smarty)
{
    $_dirname = dirname($params['filename']);

    if ($params['create_dirs']) {
        $_params = array('dir' => $_dirname);
        require_once(SMARTY_CORE_DIR.'core.create_dir_structure.php');
        smarty_core_create_dir_structure($_params, $smarty);
    }

// write to tmp file, then rename it to avoid file locking race condition
    $_tmp_file = tempnam($_dirname, 'wrt');

    if (!($fd = @fopen($_tmp_file, 'wb'))) {
        $_tmp_file = $_dirname.DIRECTORY_SEPARATOR.uniqid('wrt');
        if (!($fd = @fopen($_tmp_file, 'wb'))) {
            $smarty->trigger_error("problem writing temporary file '$_tmp_file'");
            return false;
        }
    }

    fwrite($fd, $params['contents']);
    fclose($fd);

    if (PHP_OS == 'Windows' || !@rename($_tmp_file, $params['filename'])) {
        // On platforms and filesystems that cannot overwrite with rename()
        // delete the file before renaming it -- because windows always suffers
        // this, it is short-circuited to avoid the initial rename() attempt
        @unlink($params['filename']);
        @rename($_tmp_file, $params['filename']);
    }
    @chmod($params['filename'], $smarty->_file_perms);

    return true;
}

/* vim: set expandtab: */

?>
Avatar billede rocky Nybegynder
24. september 2008 - 13:57 #1
intet svar lukker, har flyttet host og startet forfra
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester