| Autor | Zpráva | ||
|---|---|---|---|
| Morlon Profil * |
#1 · Zasláno: 30. 8. 2011, 14:15:32
Zdravím,
mám eshop založený na prestashopu, a při pokusu nahrání jakéhokoli souboru (obrázek, PDF,...) mi skočí interní chyba serveru: PHP Warning: File upload error - unable to create a temporary file in Unknown on line 0 doma mi to bez problému jede, takže předpokládám že to bude něco v nastavení serveru nebo php poradíte někdo? |
||
| Zechy Profil |
#2 · Zasláno: 30. 8. 2011, 14:25:24
Zřejmě máš CHMOD pro složku kam to nahráváš nastavenej na 644, v tom případě PHP může data jenom číst, né je vytvářet.
|
||
| Morlon Profil * |
#3 · Zasláno: 30. 8. 2011, 14:28:08
tak tomu tak trošku nerozumím :/
poradíš jak to přenastavit? |
||
| Zechy Profil |
#4 · Zasláno: 30. 8. 2011, 14:30:04
Stačí změnit práva k složce na WebFTP u hostingu nebo to zvládne třeba i Total Commander, jestli si pamatuju dobře tak Soubor > Změnit práva.
|
||
| Morlon Profil * |
#5 · Zasláno: 30. 8. 2011, 14:37:59
no ještě bych měl asi dodat že mi ten server běží na Windows web server 2008 a IIS kde php je dodělaný přes FastCGI, a práva mám tam mám nastavený jak na čtení tak i zápis
|
||
| Davex Profil |
#6 · Zasláno: 30. 8. 2011, 19:51:20 · Upravil/a: Davex
Morlon:
„práva mám tam mám nastavený jak na čtení tak i zápis“ Pouze pro tebe nebo i pro uživatele pod kterým se spouští PHP? „unable to create a temporary file“ Je také správně nastavený a vytvořený adresář pro dočasné soubory (upload_tmp_dir)? |
||
| peta Profil |
#7 · Zasláno: 31. 8. 2011, 09:22:39 · Upravil/a: peta
Zkus tohle, co to vypise za prava a cisla.
<?php
function isRequest($_name,$_def="",$_format = "PGS")
{
$formats = array (
'P'=>'_POST',
'G'=>'_GET',
'C'=>'_COOKIE',
'S'=>'_SESSION',
'R'=>'_REQUEST',
'F'=>'_FILES',
);
preg_match_all("/[".implode('',array_keys($formats))."]/", $_format, $matches);
foreach ($matches[0] as $value)
{
if (isset($GLOBALS[$formats[$value]][$_name]))
{
return $GLOBALS[$formats[$value]][$_name];
}
}
return $_def;
}
function getini($name,$default='-')
{
return @ini_get($name) ? ini_get($name) : (get_cfg_var($name) ? get_cfg_var($name) : $default);
}
// --- dir info ---
//user_dir | open_basedir
$dir = array(
'base' => getini('open_basedir',''), //home
'cwd' => getcwd(), // /home/didou
'upl_tmp' => getini('upload_tmp_dir'), //temp
'this' => urldecode(isRequest('folder','','PG'))
);
$limit = array(
'upload' => getini("upload_max_filesize"), // upload size
'post' => getini("post_max_size"), // post size
'memory' => getini("memory_limit") // memory limit size
);
$dir['to'] = $dir['this'] ."/";
echo '<pre>';
print_r($limit);
print_r($dir);
//---
function formatPerm($perm)
{
return substr(sprintf('%o', $perm), -3);
}
function getFormatPerm($path)
{
return formatPerm(fileperms($path));
}
echo '
<table>
<tr><td>BASE</td> <td>'.$dir['base'] .'</td><td>'.getFormatPerm($dir['base']) .'</td></tr>
<tr><td>CWD</td> <td>'.$dir['cwd'] .'</td><td>'.getFormatPerm($dir['cwd']) .'</td></tr>
<tr><td>upload TMP</td> <td>'.sprintf("%-38s",$dir['upl_tmp']) .'</td><td>'.getFormatPerm($dir['upl_tmp']).'</td></tr>
<tr><td>upload move</td><td>'.sprintf("%-38s",$dir['to']) .'</td><td>'.getFormatPerm($dir['to']) .'</td></tr>
';
?>Me to treba vypisuje tohle, ale this a to si nevsimej, to prave predelavam. Array ( [upload] => 2M [post] => 8M [memory] => 128M ) Array ( [base] => [cwd] => C:\wamp\www\rs0b\filemanager [upl_tmp] => c:/wamp/tmp [this] => [to] => / ) BASE 0 CWD C:\wamp\www\rs0b\filemanager 777 upload TMP c:/wamp/tmp 777 upload move / 777 |
||
|
Časová prodleva: 14 let
|
|||
0