symlink() - Problem...
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
apache
beispiel
blabla
datei
direx
einstellung
entsprechende passage
fehlermeldung
folgende warnung
funktion
geblockten funktionen
interne funktionen
kommandozeile
manual
permission
schauen
schuld
sicherheit
skript
syntax
-
Ich habe ein Problem mit der symlink()-Funktion. Ich bekomme immer folgende Warnung:
Warning: symlink(): Permission denied in /afs/agc/[...]/public_html/symlink.php on line 76
Und so sieht die entsprechende Passage in meinem Script aus:
if (isset($_POST['url'])) { $url = $_POST['url']; symlink("$url","$url"."s"); echo "Link erfolgreich angelegt!"; }
Liegt das an der EInstellung des Webservers? Oder habe ich etwas falsch gemacht?
PS: Das Script soll Links von z.B. beispiel.php nach beispiel.phps erstellen.
mfg,
direx -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hi,
Permission denied als Fehlermeldung bedeutet doch, dass die Funktion symlink hier auf Lima gesperrt wurde. Schau mal mit der Funktion phpinfo den Output an, vielleicht steht es bei den geblockten Funktionen.
mfg,
hr -
Also wenn du das Script hier auf lima hast, dann liegt es daran, dass der Safe_Mode aktiviert ist.
Um trotzdem Dateien umzubennen kannst du auch ganz einfach PHP interne Funktionen nehmen.
http://de3.php.net/manual/de/function.rename.php
http://de3.php.net/manual/de/function.copy.php
MfG Lucas -
1. Nein, diese Datei ist nicht auf lima gehostet...
2. Copy usw. bringt nichts, weil ich ja nur einen symbolischen Link anlegen m?chte. Und wenn die Datei ge?ndert wird, dann enth?lt die *.phps auch gleich die ?nderungen mit..
Aber wenn ihr meint, dass der Syntax korrekt ist, dann glaube ich, dass es am Apache liegt.
mfg,
direx -
Der User, unter dem Apache ausgef?hrt wird, muss die entsprechende Berechtigung auf Dateisystemebene besitzen. Solltest du shell-Zugriff haben, kannst du PHP auch als ganzen normalen Interpreter von der Kommandozeile starten, um das Skript selbst zu testen:
/beispiel/bin/php -f blabla.php
Mit dem Paramter -f bin ich mir jetzt gerade aber nicht so sicher, musste mal sehen.
Wenn das Skript dann korrekt arbeitet, ist mit Sicherheit die fehlende Berechtigung des Apache-Servers schuld. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage