Wie weet de oplossing/oorzaak van mijn probleem.

Door onverklaarbare oorzaak kan ik met file commando’s geen bestand meer naar een directory schrijven.
Onderstaande werkt niet op mijn macbookpro. Echter wel op een andere computer (mac).

$filename = "../backup_my2/teller.txt";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);

Met de finder kan ik wel naar de betreffende dir schrijven maar vanuit php niet terwijl dit eerst gewoon werkte.
De rechten osx staan op read/write.

Permissions geeft: drwxr-xr-x
Ik heb daar echter nauwelijk kennis van. Kan iemand mij op weg helpen?

Vast bedankt,
Peter
Peter van Kroonenburg op 07/10/2016 17:53:33

Het hele pad.
/Users/MacbookPeter/web/sites/ONE/pvk/test/mag_weg.txt

Apache;
http://localhost:8888/pvk/
ROOT:-> MacbookPeter/web/sites

Het blijf natuurlijk toch wel heel vreemd dat op mijn macpro die hetzelfde is ingericht als mijn macbook het wel werkt?

Ik bedoelde dus ... geef eens het hele pad op in die unlink() functie. Ofwel:

unlink('/Users/MacbookPeter/web/sites/ONE/pvk/test/mag_weg.txt');

Doet ie het dan wel?

Pff, ja nu wist hij hem wel.
Weet echter nog niet wat ik verkeerd doe?
Vermoedelijk een verschil in de working directory. Dit kun je terugvinden door echo getcwd(); te doen.
Beste mensen,

Hartelijk dank voor jullie hulp. Door jullie aanwijzingen ben ik er nu achter wat het probleem was. Ik heb inderdaad een fout gemaakt in de instellingen van de working directory. Het werkt nu zoals het hoort.

En.. ik heb er veel van geleerd.

Bedankt, Peter
Adoptive Solution op 07/10/2016 12:45:22


Op een Mac zijn 2 locaties om webpaginas te hosten.
.....


Dat ligt er maar aan wat je in httpd.conf opgeeft als locatie (of wat je bij de virtual hosts opgeeft.

Enige vereiste is dat de owner van het proces van de webserver (apache?) kan lezen in die map.
Ik heb cronjobs ook zien flaken om een correcte working dir. Iets met een race condition die dat af en toe veranderde. De devs toen waren al 2 weken op zoek naar wat het probleem was, en ik adviseerde een chdir(__DIR__) als start van de file. Nooit weer problemen :-)

Nu weet ik niet hoe Apache standaard wordt geconfigureerd op een mac, daar blijf ik mooi bij vandaan, maar mogelijk is de docroot anders, of heb je iets als een basedir restrictie, kan allemaal. Foutmeldingen staan sowieso uit, anders had je veel duidelijkere meldingen gehad.

Reageren