Avatar billede ladefoged Nybegynder
23. april 2003 - 23:19 Der er 5 kommentarer og
1 løsning

SAFE MODE Restriction, problem

Hej

Altså jeg har lavet et php script der skal oprette to mapper, en der f.eks. hedder 0001 og så en der hedder thumbnails i den, men jeg få hele tiden føjlenge fejl

Warning: SAFE MODE Restriction in effect. The script whose uid is 11492 is not allowed to access /usr/home/whitehat_dk/users/beta/billeder/0018 owned by uid 80 in /usr/home/whitehat_dk/users/beta/admin/billedarkiv_vis.php on line 45

Warning: Unable to access /usr/home/whitehat_dk/users/beta/billeder/0018/thumbnails in /usr/home/whitehat_dk/users/beta/admin/billedarkiv_vis.php on line 46

Warning: chmod failed: No such file or directory in /usr/home/whitehat_dk/users/beta/admin/billedarkiv_vis.php on line 46

PHPen jeg bruger ser ud som følgende

$upload_mappe = "/usr/home/whitehat_dk/users/beta/billeder/";

    // Finder ud af om titelen er taget
    $find_titel = mysql_query("SELECT id FROM billeder WHERE beskrivelse = \"$beskrivelse\"");
    $find_titel = mysql_num_rows($find_titel);

    if ($find_titel == "0" or $find_titel == "")
    {
      $sidste_mappe = mysql_query("SELECT mappe FROM billeder WHERE filnavn = \"\" ORDER BY mappe DESC LIMIT 0, 1");
      $sidste_mappe = mysql_fetch_array($sidste_mappe);

      $nymappe = $sidste_mappe[mappe] + "0001";
      $nymappe = str_pad($nymappe, 4, "0", STR_PAD_LEFT);

      if (mkdir("$upload_mappe"."$nymappe",0755))
      {
        chmod ("$upload_mappe"."$nymappe",0777);

        if (!mysql_query("insert into billeder (id, beskrivelse, mappe) values ('', '$beskrivelse', '$nymappe')"))
        {
          // Der gik ged i den
          //unlink("E:/hjemmesider/test/billeder/$nymappe");

          echo "Mappen blev ikke oprettet !!!";
        }

        else
        {
          mkdir("$upload_mappe"."$nymappe"."/thumbnails",0755);
          chmod ("$upload_mappe"."$nymappe"."/thumbnails",0777);
        }
      }
    }

Det skal lige siges at mappen billeder har chmod = 0777

Er der nogen der har nogen bud på hvad der kan være galt ?
Avatar billede mixeren Nybegynder
24. april 2003 - 00:17 #1
Den server du forsøger at køre scriptet på køre i SAFE MODE og så er der en del begrænsninger på bla. mkdir, chmod og andre funktioner er slået helt fra, se flere her: http://www.php.net/manual/sk/features.safe-mode.functions.php
Avatar billede mixeren Nybegynder
24. april 2003 - 01:02 #2
Denne kan muligvis også hjælpe dig:
http://www.eksperten.dk/spm/283014

Jeg kan svagt mindes at have haft mystiske problemer med mkdir (og lign.) ved "samlede" variabler prøv evt. at lave en test sådan her:
mkdir($newdir,0755);
chmod($newdir,0777);
Hvor du inden har angivet komplet sti i $newdir.

Som det frem går af førnævnte link (og flere andre hvis du søger her på eksperten efter "safe mode") så er det noget bøvl at lave script som opretter mapper og uploader filer/billeder når safe mode er slået til. Bestemmer du selv over serveren så er det noget nemmere at slå safe mode fra. Vær dog opmærksom på de sikkerheds problemer der følger i kølvandet.
Avatar billede ladefoged Nybegynder
24. april 2003 - 08:52 #3
Jeg takker ind til vidre, og kigger på det når jeg kommer hjem af arbejde.
Forresten så skal det lige siges at den første mappe f.eks "0001" bliver oprettet og får chmod = 0777 (har checket med ftp) men problemet opstår når der skal laves en mappe inden i "0001" !!
Avatar billede mixeren Nybegynder
24. april 2003 - 09:56 #4
Altså du kan godt oprette og chmod en mappe...
Mon så ikke den mappe du kan oprette enten ligger i en mappe som er lavet via ftp eller også ligger den i roden af dit hotel?

(Hvis ja så er det sikkert UID/GID (eksperten.dk linket fra før) som står i vejen for din plan) Mig bekendt findes der kun en brugbar løsning slå safe mode fra. I linket er der omtalt noget med en ftp funktion. Det er godt nok ikke noget jeg har prøvet, men jeg tvivler på at det virker.
Avatar billede mixeren Nybegynder
24. april 2003 - 10:04 #5
Om ftp funktioner: http://www.php.net/manual/sk/ref.ftp.php
Hvis du laver en info(); fil så vil der ca. midt i den være oplysninger om ftp er slået til eller fra.

Kender du info filen og alle dens oplysninger? ellers lav en fil som kun indeholder følgende:

<?phpinfo()?>

Åben filen i din webbrowser og du får en ret stor mængde nyttige oplysninger om php/mysql og serveren generelt, kan være særdeles nyttig når noget driller.
Avatar billede ladefoged Nybegynder
24. april 2003 - 12:05 #6
Yep du har nok ret, jeg prøver mig med ftp, for det er ikke min server, så jeg kan ikke slå safe mode fra :-(

Ellers takker for hjælpen
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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