Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [smarty] problem writing temporary file
Forum PHP.pl > Forum > PHP
rzseattle
no wlasnie po przeniesieniu calej stronki z localhost na serw wyswietla sie komunikat
Kod
Warning: Smarty error: problem writing temporary file 'templates_c/%%501/%%501481606/3f43db05160c3' in /engine/smarty/Smarty.class.php on line 1042

i wlasciwie nie za bardzo wiem co z tym zrobic gdy proboje w total zmienic atrybuty katalogu z 755 na 777 to :
Cytat
SITE chmod 777 templates_c
500 'SITE CHMOD 777 templates_c': command not understood.

moze mi ktos podpowie co z tym mam zrobic
adwol
Cytat
Cytat
SITE chmod 777 templates_c
500 'SITE CHMOD 777 templates_c': command not understood.

moze mi ktos podpowie co z tym mam zrobic

Pewnie próbujesz zmieniać prawa via ftp, a na tym serwerze są wyłączone site-komendy. Zaloguj się tam shellowo (jeśli możesz) i popraw, a jak nie możesz to być może nie musisz zmieniać praw w ogóle. FTP u niektórych providerów na stałe ma ustawioną maskę i daje dobre prawa do uploadowanych plików.
rzseattle
nie moge sie tam zalogowac shellowo - przynajmniej nic mi o tym nie wiadmomo ,, ja chce tylko baby mi smarty w katalogu mogl zapisywac swoje pliki wiec moze jakies konkretniejsze rozwiazanie
spenalzo
Może przy pomocy php się da?
[php:1:44b9fde046]<?php
chmod("templates_c",0777);
?>[/php:1:44b9fde046]
FiDO
Ewentualnie usun templates_c, i stworz go skryptem php, bedzie mial ownera tego co apache (i php), wiec wtedy prawa grupy i other nie beda Cie obchodzily.
rzseattle
Cytat
Ewentualnie usun templates_c, i stworz go skryptem php, bedzie mial ownera tego co apache (i php), wiec wtedy prawa grupy i other nie beda Cie obchodzily.

hmm
[php:1:4c2d3c0d31]<?php
mkdir ("templates_c", 0777);
?>[/php:1:4c2d3c0d31]
to owszem tworzy sie katalog ale z atrybutami 744 cholera normalnie nie wiem co robic
spenalzo
Ale w dokumentacji smarty pisze, że można nadać prawa 700.

Cytat
Be sure the "templates_c"
directory is writable by your web server user (usually nobody). chown
nobody:nobody templates_c; chmod 700 templates_c You can also chmod 777 this
directory, but be aware of security issues for multi-user systems.
adwol
Cytat
Cytat
Ewentualnie usun templates_c, i stworz go skryptem php, bedzie mial ownera tego co apache (i php), wiec wtedy prawa grupy i other nie beda Cie obchodzily.

hmm
[php:1:9713d8364f]<?php
mkdir ("templates_c", 0777);
?>[/php:1:9713d8364f]
to owszem tworzy sie katalog ale z atrybutami 744 cholera normalnie nie wiem co robic

To wstaw przed tym mkdirem
[php:1:9713d8364f]<?php
umask(0);
?>[/php:1:9713d8364f]
A poza tym zobacz czy takie prawa Ci nie wystarczą. Jeśli masz suexecowanego phpa to nie potrzeba Ci aż dawać uprawnień do zapisu dla wszystkich (0777).
rzseattle
dobra ja juz poprostu nie wiem o co chodzi - udalosie w koncu stworzyc katalog templates_c z 0777 a
Kod
Warning: Smarty error: problem writing temporary file 'templates_c/%%501/%%501481606/3f440893f32c9' in /engine/smarty/Smarty.class.php on line 1042

moze justro jak na to swiezym okiem spojze to moze mnie olsni bo juz nie mam pojcia co ten blad oznacza
spenalzo
Cytat
moze justro jak na to swiezym okiem spojze to moze mnie olsni bo juz nie mam pojcia co ten blad oznacza

Hmmmm... ciekawe.
A Smarty sam wgrywałeś na serwer, czy już było? Spróbuj nadać odpowiedni chmod plikowi smarty.class.php.
DeyV
spróbuj ustawić $smarty->use_sub_dirs = false;

oraz poczytaj: http://www.phpinsider.com/smarty-forum/vie...topic.php?t=272
rzseattle
Cytat
spróbuj ustawić $smarty->use_sub_dirs = false;

oraz poczytaj:http://www.phpinsider.com/smarty-forum/viewtopic.php?t=272

dzieki DeyV pooglo jak cholera
DeyV
możesz też skorzystać z funckji mojego autorstwa, która mimo ograniczeń po stronie serwera radzi sobie z tworzeniem folderów:
[php:1:17c89d1c6a]<?php
require_once 'Smarty.class.php';

class SmartyE extends Smarty{


/**
* This forces templates to compile every time. Useful for development
* or debugging.
*
* @var boolean
*/
var $force_compile = false;



#var $_dir_perms = 0777;
#var $_file_perms = 0777;

/**
* create full directory structure
*
* @param string $dir
*/
function _create_dir_structure($dir)
{
if (!file_exists($dir)) {
$_open_basedir_ini = ini_get('open_basedir');

if ( $_open_basedir_ini) {
if ($_no_pre_dir = stristr ($dir, $_open_basedir_ini) ){

$_open_basedir_ini_count = strlen($_open_basedir_ini);
$_no_pre_dir_count = strlen ($_no_pre_dir);
$dir = substr($_no_pre_dir, $_open_basedir_ini_count - $_no_pre_dir_count);
}
}

$_dir_parts = preg_split('!'.DIR_SEP.'+!', $dir, -1, PREG_SPLIT_NO_EMPTY);

$_new_dir = ($dir{0} == DIR_SEP) ? DIR_SEP : '';

foreach ($_dir_parts as $_dir_part) {
$_new_dir .= $_dir_part;

if (!is_dir($_new_dir) and !@mkdir($_new_dir, $this->_dir_perms)) {
$this->trigger_error("problem creating directory "$dir"");
return false;
}
$_new_dir .= DIR_SEP;
}
}
}

}//class SmartyE
?>[/php:1:17c89d1c6a]

wykorzystanie : $smarty = new SmartyE;
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.