Łączenie plików do znalezienia przez serwer PHP


0

Jaki jest prawidłowy sposób podłączenia lokalnego katalogu ~/dirna /path/dir, tak że serwer PHP szuka /path/dir/file.phpznajdzie ~/dir/file.php?

W mojej konkretnej sytuacji korzystam z serwera XAMPP PHP na komputerze Mac, uzyskując następujące błędy:

Warning: include_once(/Applications/XAMPP/xamppfiles/htdocs/tms/tms.php) [function.include-once]: failed to open stream: No such file or directory in /Users/dmitrizaitsev/Sites/newsite/index.php on line 2

Warning: include_once() [function.include]: Failed opening '/Applications/XAMPP/xamppfiles/htdocs/tms/tms.php' for inclusion (include_path='.:/Applications/XAMPP/xamppfiles/lib/php: /Applications/XAMPP/xamppfiles/lib/php/pear') in /Users/dmitrizaitsev/Sites/newsite/index.php on line 2

Więc PHP szuka pliku:

/Applications/XAMPP/xamppfiles/htdocs/tms/tms.php

Które próbuję połączyć z moim lokalnym katalogiem

/Users/dmitrizaitsev/Sites/newsite/tms

… Który zawiera plik tms.php.

Próbowałem

sudo ln -s ~/Sites/newsite/tms /Applications/XAMPP/xamppfiles/htdocs/

ls -lisa /Applications/XAMPP/xamppfiles/htdocs/tms
26232130 8 lrwxr-xr-x  1 root  admin  38 26 Apr 16:30 /Applications/XAMPP/xamppfiles/htdocs/tms -> /Users/dmitrizaitsev/Sites/newsite/tms

ale wydaje się, że nie działa z PHP i nie wyświetla plików:

|system| Dmitris-MacBook-Pro in /Applications/XAMPP/xamppfiles/htdocs
○ → ls -lisa /Applications/XAMPP/xamppfiles/htdocs/tms/
ls: /Applications/XAMPP/xamppfiles/htdocs/tms/: No such file or directory

czy masz włączone FollowSymLinks? czy php ma pozwolenie na dostęp do wszystkich katalogów (zarówno ścieżka do htdocs, jak i tms i dzieci)?
Camden Narzt

Gdzie mogę sprawdzić te ustawienia?
Dmitri Zaitsev

uprawnienia są tak proste ls -l path/to/dir1 /path/to/dir2, jak w przypadku conf, XAMPP wydaje się nie mieć żadnej dokumentacji, więc nie mogę powiedzieć, chyba że podasz mi listę plików poniżej /Applications/XAMPP/, ls -lRpowinno to zrobić.
Camden Narzt

Mam na myśli, czy php ma odpowiednie uprawnienia?
Dmitri Zaitsev

Zgodnie z tym: apple.stackexchange.com/questions/46062/... XAMPP domyślnie działa jako użytkownik „nobody”, co oznacza, że ​​musisz udzielić uprawnień wszystkim / światowi (cyfra najbardziej prawostronna), aby odczytać pliki i wykonać zaangażowane katalogi.
Camden Narzt
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.