Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Include - jeden plik, kilka stron
Forum PHP.pl > Forum > Przedszkole
Mega_88
Cześć, mam do Was pytanie jakby to można rozwiązać, zrobić i czy można to tak naprawdę jakoś zrobić. Więc pomysł jest następujący:

1. Serwer dedyk, direct admin i do każdej domeny, subdomeny oddzielny user (direct admin)
2. Domena główna example.com (strona główna)
3. Zakładane subdomeny xxx1.example.com, xxx2.example.com, xxx3.example.com itd... (jako oddzielni userzy na swoich pakietach)
4. Każda z tych stron pod subdomenami działająca na tych samych plikach, funkcjach można powiedzieć kopie stron.

I teraz, jako że te pierwsze 4 punkty to nie problem i pewnie można to zrobić bez przeszkód, ale chodzi mi o pliki, funkcje. Każda z tych stron zawierać będzie na przykład plik functions.php w którym będzie funkcja generująca aktualności. Czy można to jakoś zrobić tak, że każda z tych stron będzie korzystać z tego jednego pliku umieszczonego gdzieś na serwerze, a nie z 4 oddzielnych w swoich katalogach ? Chodzi mi o to, że za miesiąc do funkcji generującej aktualności będę chciał zmienić format daty z 2016-11-10 na 10-11-2016 lub dodać coś innego. Średnio mi się widzi wgrywać ręcznie 4 pliki na różne domeny bo coś się zmieniło tylko zrobić tak żebym edytował jeden plik, a zmiany będą w obrębie tych wszystkich stron.

Bo przy 4 ok, ale jak będzie 50 i nagle coś trzeba zmienić to bez sensu edytować 50 plików (lub wgrywać 50 plików), najlepiej otworzyć jeden zapisać i bum zrobione na 50 tongue.gif Bo na przykład z css to chyba nie problem odnoszę się po całym adresie http do pliku, ale jak z plikami .php to najlepiej załatwić ?
viking
Poczytaj o set_include_path
Mega_88
Kurcze chyba nie bardzo to łapie, albo za mocno kombinuję dla testu zrobiłem sobie na serwerze dwóch użytkowników

dev.example.com
work.example.com

Na dev.example.com wprowadzam zmiany w test.php, testuje, a później do public_html na work.example.com wrzucam sobie plik test.php

  1. <?php
  2. echo "test";
  3. ?>


Jak to przez include wywalić z work.example.com na subdomenach i czy tak się da ? Bo kombinuję coś na zasadzie:
-> dev.example.com - zmiany, testowanie
--> functions/test.php

-> work.example.com - wersja poprawna
--> functions/test.php

-> xxx1.example.com - pobieranie funkcji, plików z work.example.com
--> work.example.com/functions/test.php

-> xxx2.example.com - pobieranie funkcji, plików z work.example.com
--> work.example.com/functions/test.php

-> xxx3.example.com - pobieranie funkcji, plików z work.example.com
--> work.example.com/functions/test.php

I teraz po próbach mam coś takiego:

  1. Warning: include(): open_basedir restriction in effect. File(/home/dev/domains/dev.example.com/public_html/test.php) is not within the allowed path(s): (/home/RESSELER/:/tmp:/var/tmp:/usr/local/lib/php/:/usr/local/php53/lib/php/:/usr/local/php56/lib/php/) in /home/RESSELER/domains/work.example.com/public_html/index.php on line 10
Niree
Cytat(Mega_88 @ 10.11.2016, 22:24:36 ) *
Kurcze chyba nie bardzo to łapie, albo za mocno kombinuję dla testu zrobiłem sobie na serwerze dwóch użytkowników

dev.example.com
work.example.com

Na dev.example.com wprowadzam zmiany w test.php, testuje, a później do public_html na work.example.com wrzucam sobie plik test.php

  1. <?php
  2. echo "test";
  3. ?>


Jak to przez include wywalić z work.example.com na subdomenach i czy tak się da ? Bo kombinuję coś na zasadzie:
-> dev.example.com - zmiany, testowanie
--> functions/test.php

-> work.example.com - wersja poprawna
--> functions/test.php

-> xxx1.example.com - pobieranie funkcji, plików z work.example.com
--> work.example.com/functions/test.php

-> xxx2.example.com - pobieranie funkcji, plików z work.example.com
--> work.example.com/functions/test.php

-> xxx3.example.com - pobieranie funkcji, plików z work.example.com
--> work.example.com/functions/test.php

I teraz po próbach mam coś takiego:

  1. Warning: include(): open_basedir restriction in effect. File(/home/dev/domains/dev.example.com/public_html/test.php) is not within the allowed path(s): (/home/RESSELER/:/tmp:/var/tmp:/usr/local/lib/php/:/usr/local/php53/lib/php/:/usr/local/php56/lib/php/) in /home/RESSELER/domains/work.example.com/public_html/index.php on line 10


Przecież tutaj masz prosty błąd.
https://www.google.pl/search?q=is+not+withi...me&ie=UTF-8
Mega_88
Dobra bo już nie rozumiem, może mi ktoś podpowiedzieć o co chodzi i jak to rozwiązać ? Cały czas sypie mi błędem.

  1. Warning: include(test.php): failed to open stream: No such file or directory in /home/USER/domains/demo.example.com/public_html/index.php on line 11
  2.  
  3. Warning: include(): Failed opening 'test.php' for inclusion (include_path='/home/USER/domains/dev.example.com/public_html/test.php:.:/usr/local/lib/php') in /home/USER/domains/demo.example.com/public_html/index.php on line 11


Z domeny dev.example.com chce załadować plik test.php na domenie demo.example.com

  1. set_include_path("/home/USER/domains/dev.example.com/public_html/test.php" . PATH_SEPARATOR . get_include_path());
viking
Kod
include_path string

    Specifies a list of [b]directories[/b]
Mega_88
Teraz mam coś takiego:

  1. $path = '/home/dev/domains/dev.example.com/public_html/core/';
  2. set_include_path(get_include_path() . PATH_SEPARATOR . $path);
  3. include('test.php');


  1. Warning: include(): open_basedir restriction in effect. File(/home/USER/domains/dev.example.com/public_html/core/test.php) is not within the allowed path(s): (/home/USER/:/tmp:/var/tmp:/usr/local/lib/php/:/usr/local/php53/lib/php/:/usr/local/php56/lib/php/) in /home/USER/domains/demo.example.com/public_html/index.php on line 15
  2.  
  3. Warning: include(/home/USER/domains/dev.example.com/public_html/core/test.php): failed to open stream: Operation not permitted in /home/USER/domains/demo.example.com/public_html/index.php on line 15
  4.  
  5. Warning: include(): Failed opening 'test.php' for inclusion (include_path='.:/usr/local/lib/php:/home/USER/domains/dev.example.com/public_html/core/') in /home/USER/domains/demo.example.com/public_html/index.php on line 15
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.