Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Include - jeden plik, kilka stron
Mega_88
post
Post #1





Grupa: Zarejestrowani
Postów: 360
Pomógł: 34
Dołączył: 20.08.2011

Ostrzeżenie: (0%)
-----


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 (IMG:style_emoticons/default/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ć ?
Go to the top of the page
+Quote Post
viking
post
Post #2





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Poczytaj o set_include_path
Go to the top of the page
+Quote Post
Mega_88
post
Post #3





Grupa: Zarejestrowani
Postów: 360
Pomógł: 34
Dołączył: 20.08.2011

Ostrzeżenie: (0%)
-----


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


Ten post edytował Mega_88 10.11.2016, 23:13:02
Go to the top of the page
+Quote Post
Niree
post
Post #4





Grupa: Zarejestrowani
Postów: 220
Pomógł: 18
Dołączył: 5.02.2016
Skąd: Polska

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
Mega_88
post
Post #5





Grupa: Zarejestrowani
Postów: 360
Pomógł: 34
Dołączył: 20.08.2011

Ostrzeżenie: (0%)
-----


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());
Go to the top of the page
+Quote Post
viking
post
Post #6





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Kod
include_path string

    Specifies a list of [b]directories[/b]
Go to the top of the page
+Quote Post
Mega_88
post
Post #7





Grupa: Zarejestrowani
Postów: 360
Pomógł: 34
Dołączył: 20.08.2011

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 13.10.2025 - 00:01