Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Smarty
Forum PHP.pl > Forum > Przedszkole
Wolfie
Witam
Mam dosc nietypowy problem
Otoz chce zainstalowac Smarty ale zeby to zrobic trzeba dopisac linijke kodu w pliku php.ini
niestety gdy otwieram plik php.ini ktory jest na liscie w phpinfo.php widze cos takiego :

Cytat
PHP;


nic poza tym

Co w takim wypadku ?
isso
co trzeba dopisać do php.ini?

// to co tam jest podane, nie jest bezwzględne... czyli bez tego powinno również chodzić.
Wolfie
Trzeba dopisac sciezke dostepu do biblioteki smarty
W moim przpadku

include_path = ".;c:\smarty\libs"

Ale jak mowie w php.ini nic nie ma oprocz

; PHP

a gdy probuje dopisac ta linijke z bibliotekami i zapisac plik wyskakuje komunikat

Cannot create c:/Windows/php.ini file
Make sure that path and file name are correct

Dodam ze mam windows Vista :/

Bez tej linijki nie chodzi , juz probowalem test smarty ale niestety wyskakuje error :

Cytat
Warning: require(Smarty.class.php) [function.require]: failed to open stream: No such file or directory in C:\Program Files\WebServ\httpd\index.php on line 4

Fatal error: require() [function.require]: Failed opening required 'Smarty.class.php' (include_path='.;C:\php5\pear') in C:\Program Files\WebServ\httpd\index.php on line 4
isso
ale może coś wiece, z jakiego korzystasz oprogramowania ? (serwer)

// eee ten komunikat mi wyglada tak jabyś nie miał po prostu pliku z klasą(i jej podfolderami) tam skąd chcesz go odpalić
Wolfie
Oto konfiguracja jaka podaja w manualu :

index.php
  1. <?php
  2.  
  3. // load Smarty library
  4. require('Smarty.class.php');
  5.  
  6. $smarty = new Smarty;
  7.  
  8. $smarty->template_dir = 'd:/inetpub/wwwroot/smarty/templates';
  9. $smarty->config_dir = ' d:/inetpub/wwwroot/smarty/config';
  10. $smarty->cache_dir = 'd:/smarty/smarty_cache';
  11. $smarty->compile_dir = 'd:/smarty/smarty_templates_c';
  12.  
  13. $smarty->assign('name','fish boy!');
  14.  
  15. $smarty->display('index.tpl');
  16.  
  17. ?>


A oto moja konfiguracja
index.php
  1. <?php
  2.  
  3. // load Smarty library
  4. require('Smarty.class.php');
  5.  
  6. $smarty = new Smarty;
  7.  
  8. $smarty->template_dir = 'c:/Program Files/WebServ/httpd/smarty/templates';
  9. $smarty->config_dir = 'c:/Program Files/WebServ/httpd/smarty/config';
  10. $smarty->cache_dir = 'c:/smarty/cache';
  11. $smarty->compile_dir = 'c:/smarty/templates_c';
  12.  
  13. $smarty->assign('name','fish boy!');
  14.  
  15. $smarty->display('index.tpl');
  16. ?>


wszystkie pliki sa na miejscu brakuje tylko linijki w php.ini ktorej nie moge dopisac......

A to moj plik index.tpl ktory znajduje sie w katalogu
c:/Program Files/WebServ/httpd/smarty/templates
  1. <?php
  2. <html>
  3. <body>
  4. Hello, {$name}!
  5. </body>
  6. </html>
  7. ?>


wszystko powinno dzialac bo jest na miejscu ale brakuje linijki w php.ini
Czyli jednym slowem php nie ma dostepu do c:/smarty/libs
Ktos wie jak to naprawic w takim przypadku ?
isso
ja raczej wiem jak to naprawic smile.gif

ale raczej jak podajesz katalogi to one są względnie do localhosta, a nie 'c:/costamcostam/'

Jaki to jest serwer? podawaj katalogi od miejsca 'gdzie jestes'

czyli np. jak masz wszystko w głównym katalogu to zaczynasz od:

'/smarty/...'
Wolfie
Mam WebServ-a
A katalog root to ten : httpd
ktory znajduje sie tutaj
C:/Program Files/WebServ/httpd

Ale przeciez wyraznie widac w manualu zeby zaczynac sciezke od dyskow.....

Prosze spojrzec na ten link , w pierwszych kilku zdaniach jest napisane jak wszystko skonfigurowac i tak mam wlasnie to zrobione ale nie dziala :/
konfuguracja smarty pod winde

Ok znalazlem problem

znajdowal sie on w komendzie require - zła ściezka dostepu do pliku a w zasadzie jej brak, musialem podac pelna sciezke dostepu do pliku Smarty.class.php zaczynajac od c:/....
isso
Cytat
Setup these two folders INSIDE your www root:
(wwwroot)/smarty/templates (this is where your templates will go)
(wwwroot)/smarty/configs


jak widać zreszta po błędzie jest problem z wczytaniem... smarty.class jest zwykla klasa php ;] czyli może być wciągane poprzez include, require normalnie bez udziwnień... jestem tego pewien, sam korzystam... masz wyraźnie napisane ze jest problem z require... wiec tam go szukaj.
Wolfie
Post wyzej problem rozwiazany smile.gif
isso
ale to co zrobiłeś jest NIE optymalne smile.gif bo jeżeli przeniesiesz stronę na inny serwer... postawiony np. pod linuxem to będziesz musiał zmieniać wszystkie ścieżki. powodzenia smile.gif
Wolfie
No wlasnie teraz tez o tym pomyslalem, i co w takim przypadku , co w takim razie moze byc tutaj bledem ?
Juz sie zaczałem gubic teraz w tym momencie.....

Czyli include_path w php.ini nie jest tutaj problemem ?
isso
nie.... to nie ma nic wspólnego... to całe include w php.ini mogłoby zrobić "stałą bibliotekę" - cos takiego mniej wiecej...

ale Ty bedziesz tego używał na innym serwerze... wiec musisz posiadać wszystkie pliki w katalogu i normalnie przez inlude włączać klasę smarty smile.gif
Wolfie
A dlaczego php.ini wyglada tak :
Cytat
; PHP


I nie ma tam nic poza tym ?

Jakbym chcial cos skonfigurowac to gdzie mam to robic questionmark.gif sciana.gif
isso
nie mam pojecia smile.gif dalczego tak jest w WebServ`ie smile.gif poszukaj w dokumentacji smile.gif i proopnuję zainstalować sobie Wamp Server smile.gif
erix
Cytat
Jakbym chcial cos skonfigurowac to gdzie mam to robic

Ponieważ PHP jest skonfigurowane do korzystania z domyślnych ustawień.

Skopiuj sobie php.ini-dist albo php.ini-recommended, aby uzyskać "normalny" plik ustawień.
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.