Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inne]Wamp server
Forum PHP.pl > Forum > Przedszkole
Szymciosek
Witam
robię pewien systemik (w ramach nauki ) i żeby nie wklepywać w pliku za każdym razem innego include_once żeby dodać np menu na górze wpadłem na pomysł stworzenia root path, który będzie mi wskazywał na główny katalog z projektem po czym dalej już sobie zrobię np $menuPath = '/menu/menu.php';

zastosowałem tutaj: $_SERVER["DOCUMENT_ROOT"];
  1. $rootPath = $_SERVER['DOCUMENT_ROOT'] . 'labs/accept_system/';
  2. $menuPath = 'menu/menu.php';


lecz przy odpalaniu jakiegoś pliku za pomocą czegoś takiego otrzymuję:
URL: f:/WORK/labs/accept_system/addEntry.php
Error z FF: Firefox nie jest w stanie otworzyć tego adresu, ponieważ protokół "f" nie jest przypisany do żadnego programu.

Jak mogę się domyślić chodzi tutaj o ten właśnie link. Jak zmienić ustawienia Wamp servera czy czegoś innego żeby ten DOCUMENT_ROOT czytało mi np jako localhost/labs.../ ?
wNogachSpisz
zainteresuj się ini_set('include_path')
Szymciosek
Tylko takie coś musiałbym dawać w każdym pliku, w którym chcę mieć root path ?

np:
  1. ini_set('include_path', 'path_to_root');

?
CuteOne
Skoro nie chcesz wpisywać include_path to zrób sobie vhosta z document root "f:/..."

Edytuj plik apache/conf/extra/httpd_vhosts i system32/drivers/etc/hosts
Szymciosek
Dziękuję CuteOne

Jakby ktoś szukał, to skorzystałem z tego: http://viralpatel.net/blogs/how-to-setup-m...-hosts-in-wamp/

Jednak nie działa...

menu.php
  1. $panelPath = $_SERVER['DOCUMENT_ROOT'] . '/panel/panel.php';
  2. $addEntryPath = $_SERVER['DOCUMENT_ROOT'] . '/addEntry.php';
  3. $logoutPath = $_SERVER['DOCUMENT_ROOT'] . '/logout.php';
  4.  
  5. echo $panelPath;


Zwraca:
F:/WORK/labs/accept_system/panel/panel.php

i teraz:
menu.php
  1. echo '<a href="' . $panelPath . '">Przejdź do panelu</a><br />';
  2. echo '<a href="' . $addEntryPath . '">Dodaj wpis</a><br />';
  3. echo '<a href="' . $logoutPath . '">Wyloguj</a>';


Kieruje mnie oczywiście znowu nie tam gdzie trzeba...
Zrobiłem dokładnie jak tutaj: http://viralpatel.net/blogs/how-to-setup-m...-hosts-in-wamp/
wchodzę na link: http://accept.localhost/index.php i działa wszystko prawie, działa logowanie, działa wszystko co znajduje się w tym samym folderze... ale jak już mam /menu/menu.php - on zawiera w sobie odnośnik do logout.php, to niestety przestaje to działać.


Gdy w pliku menu.php dodam
  1. echo $_SERVER['DOCUMENT_ROOT'];

Zwraca mi: F:/WORK/labs/accept_system

Czyli praktycznie to samo co z index.php

Nie rozumiem co źle zrobiłem.

EDIT::
Kod
DocumentRoot "f:/WORK/"
NameVirtualHost 127.0.0.1
<VirtualHost 127.0.0.1>
    ServerName localhost
    DocumentRoot 'f:/WORK/'
</VirtualHost>
<VirtualHost 127.0.0.1>
    ServerName accept.localhost
    DocumentRoot 'f:/WORK/labs/accept_system/'
</VirtualHost>


Halo ? Jest w stanie ktoś coś podpowiedzieć na ten temat ?
Bardzo mi na tym zależy.

Myślę, że to wina konfiguracji i tego, że projekty mam gdzie indziej, dlatego root jest pokazywany jako F:/...
Zostanę przy swoim sposobie, ale trochę go zmodyfikuję, jak będę wrzucał na serwer, to będę sprawdzał $_SERVER['DOCUMENT_ROOT'];

na serwerze wygląda to tak:
Kod
/var/www/abc.pl/www
CuteOne
  1. $panelPath = 'http://accept.localhost/panel/panel.php';
  2. //itp.
Szymciosek
Najprostsze rozwiązanie, a ja kombinuję, ale czy dobre ?

No i znowu ...

  1. $menuPath = 'accept.localhost/menu/menu.php';


Warning: include_once(accept.localhost/menu/menu.php): failed to open stream: No such file or directory in F:\WORK\labs\accept_system\index.php on line 22
Call Stack

ani też tak
  1. $menuPath = 'localhost/labs/accept_system/menu/menu.php';


Po dodaniu na początku http:// zwraca error...
CuteOne
http://localhost/panel/panel.php?action=edit
  1. define('APPLICATION_PATH', '/var/www/abc.pl/www');
  2.  
  3. switch($_GET['action']) {
  4.  
  5. case 'edit':
  6. include APPLICATION_PATH . '/edit.php';
  7. break;
  8. //itd.
  9. }


Innymi słowy zwykły router
Szymciosek
  1. $rootPath = '/./WORK/labs/accept_system/';
  2. $menuPath = 'menu/menu.php';


W sumie to jest podobne do tego, które dałeś teraz, tylko mniej automatyczne, ale spełnia swoje zadanie i póki co przy tym zostanę póki działam na localu. Chyba, że za jakiś czas coś mi się to odwidzi, to wrócę do Twojego pomysłu. Mimo wszystko dzięki wink.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.