copieren via php naar andere server

Status
Niet open voor verdere reacties.

pbd4499

Gebruiker
Lid geworden
29 jun 2009
Berichten
185
Waarom werkt het wegschrijven naar een externe server waar voldoende rechten zijn niet?

tmp = exec("cmd /c copy c:\\test.txt \\\\10.0.0.7\\App\\test.txt", $output);
 
Weet je zeker dat er voldoende rechten zijn? De exec wordt uitgevoerd door de user waar de webserver op draait, niet degene waar jij op ingelogd bent. En de webserver heeft meestal maar heel weinig rechten.
 
ja, ik heb op mijn locale pc (waar het bestandje naar toe dient te worden gecopieerd) een directory aangemaakt en die gedeeld met alle rechten onder windows.

Vervolgens wil ik vanaf de webserver (intranet) een bestand hier naar toe copieren.

Ik heb vanalles geprobeerd, met een batchfile en 2 parameters erachter etc etc maar niets helpt. Wellicht dien ik tijdelijk een driveletter aan deze te koppelen...

Handmatig testen van de batchfile werkte wel. Ook bovenstaand voorbeeld blijkt lokaal wel te werken maar zodra ik de bestemming instel op het \\ip-address\sharemap\ gaat het fout... De rechten kunnen het haast niet zijn want handmatig kan ik vanaf de server er iets in wegzetten...
 
Wat voor output geeft de exec functie?
 
Het commando:
copy("c:\\test.txt","\\192.168.21.147\\App\\test.txt");


Resulteert in:
Warning: copy(c:\test.txt) [function.copy]: failed to open stream: No such file or directory in C:\wamp\www\lisite6\templates\rt_affinity_j15\licomforms.php on line 13

Toevoeging:
\\192.168.21.147\\App = een share op windows XP professional met lees & schrijfrechten aan iedereen. Vanaf de server, ingelogd als administrator of mijn usernaam kan ik handmatig met copy het bestand copieren van de bron naar de bestemming. De server is een windows 2003 server waarop WAMP draait.
 
check even in phpinfo of safe_mode aan staat, als die namelijk aanstaat is het uitvoeren van exec niet mogelijk
 
Probeer het eens met de slashes andersom? Zou eventueel nog kunnen. Het lijkt erop dat ie de file niet kan vinden.

(Sowieso is het niet handig om met volledige paden te werken, je kunt ze beter relatief doen, voor de veiligheid)
 
Probeer het eens met de slashes andersom? Zou eventueel nog kunnen. Het lijkt erop dat ie de file niet kan vinden.

(Sowieso is het niet handig om met volledige paden te werken, je kunt ze beter relatief doen, voor de veiligheid)

backward en forward slashes zijn al geprobeerd. Ik heb mogelijk al gevonden waardoor het komt. De network-share ziet de php-user als onbekende. Bewijs dat dit klopt is dat het onder mijn user-id, handmatig gedaan, wel kan worden weggeschreven. Op internet vond ik een artikel om de shart in te stellen op een zogenaamde NULL-share (http://support.microsoft.com/kb/289655). Weldra dit juist is ingesteld zou het door php wel beschreven moeten kunnen worden. Vol verwachting klopt mn.......:confused: Zal wel voor de beveiliging ermee te maken hebben, maar toch eigenlijk wel vreemd want we geven toch explicit schrijfrechten voor die share...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan