 |
Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Comunitatea PHP Romania
|
| Subiectul anterior :: Subiectul următor |
| Autor |
Mesaj |
vaypah
Data înscrierii: 19/Dec/2007
Mesaje: 6
|
| Trimis: Joi Dec 20, 2007 9:40 am Titlul subiectului: probleme cu backtick |
|
|
Salutare.
Am si eu o probema cu php-u. Cred ca e ceva ce tine de setari, sau de securitatea windows, dar poate v-ati mai intalnit cu asa ceva.
Am o mapare facuta pe drive-ul Z dupa un folder de pe alt calculator. Folosind operatorul backtick (` - apostrofu ala ciudat de pe tasta ~) care ar trebui sa-mi ruleze in consola direct comenzile, eu incerc sa dau un "dir"...mai exact, codul e
Cod: <?php
`dir "z:\" /s > d:\parsing.txt`
?>
Problema e ca imi returneaza un "parsing.txt" gol, in loc sa-mi puna in el lista de directoare cu toate fisierele din ele.
Incercand aceeasi bucata de cod, doar cu D:\ in loc de Z:\ merge fara nici o problema.
Daca bag comanda ca mai sus, pe Z:, dar direct din consola, iarasi merge fara nici o problema.
Am incercat chiar sa pun codul intr-un bat si sa-l rulez cu exec() din php dar exact aceeasi problema...daca rulez direct batchu merge, si mai merge si daca scriu d: sau c: in loc de z: si rulez din php.
Calculatorul pe care am php e un server 2003, cu php pus pe apache(am xampp instalat), iar fisierele mapate sunt tot pe un server 2003.
Maparea era conectata cand am facut toate testele astea.
Lucrul care ma streseaza la culme este ca acum 2 zile mergea fara nici o problema, pana sa joinez serverul pe care e php la un domain. Calculatorul de pe care mapez nu apartine domeniului...poate e de la asta, dar codul a continuat sa nu functioneze si dupa ce am scot serverul din domeniu.
O ultima mentiune...am incercat si cu scandir() astfel:
Cod: <?php
$dir = 'z:';
$print = scandir($dir);
print_r( $print);
?>
si eroarea generata a fost:
Cod: Warning: scandir(z:) [function.scandir]: failed to open dir: No error in C:\xampp\htdocs\site\baze\testare.php on line 3
Fratilor! Ajutati un biet programator ajuns ca capatul nervilor! :( |
|
| Sus |
|
mihaitha
Data înscrierii: 04/Mai/2007
Mesaje: 1801
Locație: Sibiu
|
| Trimis: Joi Dec 20, 2007 9:43 am Titlul subiectului: |
|
|
| Vezi ce permisii are php.exe si php4ts.dll (sau php5ts.dll - depinde ce versiune ai). Prin ce user ruleaza. Poate e de la asta. Dunno... |
|
| Sus |
|
vaypah
Data înscrierii: 19/Dec/2007
Mesaje: 6
|
| Trimis: Joi Dec 20, 2007 9:51 am Titlul subiectului: |
|
|
| Te referi la ce owner au cele 2 fisiere? Daca da, era administratorul calculatorului, acum l-am schimbat cu administratorul domeniului si la fel face. |
|
| Sus |
|
mihaitha
Data înscrierii: 04/Mai/2007
Mesaje: 1801
Locație: Sibiu
|
| Trimis: Joi Dec 20, 2007 10:44 am Titlul subiectului: |
|
|
Si owner-ul asta are drept de citire pe folderul de retea mapat? Incearca sa te loghezi o data in drive-ul mapat cu userul prin care lucreaza apache shi php.
P.S. nu am incercat niciodata sa fac ce faci tu acuma, ma dau si eu cu parerea. Stiu numai ca in combinatie cu IIS, pentru ca php sa mearga bine, trebuia ca userul IUSR_(machine name) sa aiba drept de read si execute pe php.exe si pe php4ts.dll . Deci probabil e o problema de permisii de acces. |
|
| Sus |
|
ebogdan
Data înscrierii: 27/Iul/2006
Mesaje: 151
|
| Trimis: Joi Dec 20, 2007 11:04 am Titlul subiectului: |
|
|
Cred ca mihaitha are dreptate, ia uite ce scrie la opendir:
Citat: mana at averna dot com
07-Dec-2007 03:02
I was trying to access network drives using this opendir function. I read so many posts saying that it was almost impossible to access a network drive and finally, I found the answer; there are 2 steps to be followed to access a network drive with PHP either on the same machine or another machine.
But first of all, here's the error I was getting:
Warning: opendir(\\server\folder1\sub_folder) [function.opendir]: failed to open dir: No error in C:\wamp\www\PMOT\v0.1\REPORT_MENU\index.php on line 17
Firstly, one must make sure that the folder \\server\folder1\sub_folder can be accessed by a user, let's say USER_TEST with a password PASS_TEST. By setting properties to this folder, one can add this given user with the correct password (USER_TEST with PASS_TEST).
Secondly, the APACHE service must be set-up to take this user into account. If no user is specified, APACHE uses an anonymous user and this is where the problem/error message is coming from. One must go in control panel->administrative tools->services. One will see the list of services and must look for APACHE with Apache/2.X.X in the description. (For Wampserver, it will be called wampapache, and so on!) Right click on that and pop up the properties screen. In the tab LOG ON, there are 2 options: local system account and "this account" which will be a user specified account. This is where one must specify the USER_TEST and PASS_TEST.
Following these steps worked perfectly for me but if either the folder privileges or apache log on user is disabled, then I get the initial aforementioned error message.
Anyways, I hope this can help out someone!
Cheers!
Marc
|
|
| Sus |
|
vaypah
Data înscrierii: 19/Dec/2007
Mesaje: 6
|
| Trimis: Joi Dec 20, 2007 4:25 pm Titlul subiectului: |
|
|
Ok..ms de informatii...o sa incerc sa pun in aplicatie ce zice acolo.
O sa va tin la curent cu rezultatele. |
|
| Sus |
|
PHPRomania Bot
Bot Member
Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google |
| Trimis: Mie Dec 26, 2007 7:01 pm Titlul subiectului: Ad |
|
|
|
|
|
| Sus |
|
| |
|