Autor | Zpráva | ||
---|---|---|---|
petrpribyl Profil * |
#1 · Zasláno: 14. 12. 2010, 18:14:55
Zdravím,
na hostingu Otoman mi nefunguje funkce parse_ini_file. imho to může souviset se safe_mode, který je na hostingu nastaven na On. samotný .ini soubor je umístěn v adresáři /config/config.ini v rootu ...tak si myslím,, že by se měl načíst i při zapnutém safe mode... nebo jsem mimo ? :) díky |
||
Davex Profil |
#2 · Zasláno: 14. 12. 2010, 19:07:34
petrpribyl:
„mi nefunguje funkce parse_ini_file.“ Jak nefunguje? Vypíše se nějaká chyba? „samotný .ini soubor je umístěn v adresáři /config/config.ini v rootu“ Do kořenového adresáře serveru určitě přístup nemáš, takže hledáš soubor jinde, než kde skutečně je. Použij relativní cestu od umístění skriptu, třeba config/config.ini .
|
||
petrpribyl Profil * |
#3 · Zasláno: 15. 12. 2010, 13:37:01
díky za reakci.
nevypíše se nic, žádná chyba, jen je načtené pole prostě prázdné. tím rootem jsem myslel root vlastního webu ... tedy neco jako serverroot/mujweb/web/ tam je index.php, config.ini je v serverroot/mujweb/web/config/config.ini a cesta by měla být v pořádku, na lokálním serveru mi to běhá ... |
||
Davex Profil |
#4 · Zasláno: 15. 12. 2010, 18:25:45
Jiná funkce, jako třeba
file() , ho načte?
|
||
petrpribyl Profil * |
#5 · Zasláno: 15. 12. 2010, 18:56:49
funkce file() ho načte bez problémů :(
původní kód : APP a SITE jsou konstanty, definovane driv ... Prioritní je config ze složky pod SITE, nahrazuje prvky pole defaultního APP configu self::$config = array_merge ( parse_ini_file ( APP . "config/config.core.ini", TRUE ), parse_ini_file ( SITE . "config/config.site.ini", TRUE ) ); jsem doplnil o toto : var_export(self::$config); $soubor = file(APP . "config/config.core.ini"); var_export($soubor); vyhodí na obrazovku toto : NULL array ( 0 => 'version = "2.1" ', 1 => 'onLoadFunction = javaScriptInit .... |
||
Davex Profil |
#6 · Zasláno: 15. 12. 2010, 19:25:37
Není konfigurační soubor uložen v kódování UTF-8 s BOMem a na webserveru nějaká starší verze PHP? Na tento problém jsem našel bug #45991 a na PHP 5.1.6 v CentOS 5 se mi projevil.
|
||
petrpribyl Profil * |
#7 · Zasláno: 16. 12. 2010, 09:47:16
Nevím, jak zjistit, jestli má BOM nebo ne, a už vůbec ne, jak ho "vypnout" :(
Jinak config.ini byl uložen v UTF-8, změnil jsem jeho kódování na ISO-8859-1 a žádná změna. Na serveru je PHP 5.2.9. phpInfo() s celým nastavením PHP na serveru je např. tady |
||
Davex Profil |
#8 · Zasláno: 16. 12. 2010, 18:43:17
Zobrazí se nějaká zajímavá chyba po zapnutí chybových hlášek v PHP?
error_reporting(E_ALL); ini_set('display_errors', '1'); var_export(parse_ini_file(APP . "config/config.core.ini", TRUE)); |
||
petrpribyl Profil * |
#9 · Zasláno: 17. 12. 2010, 10:19:09
No, asi se blížíme :)
objevuje se varování : Warning: Error parsing core/2_1/config/config.core.ini on line 6 in /home/users/ciwes/ciwes.com/web/develop/core/2_1/application/application.class.php on line 81 pak jich tam ještě víc, ale to už jsou chyb, související s tím, že je očekávané pole prázdné ... a tady je ten inkriminovaný config včetně řádku 6 : version = "2.1" onLoadFunction = javaScriptInit style = baseStyle controls[route] = html controls[mode] = debug controls[layout] = straight controls[section] = home controls[language] = en |
||
Davex Profil |
#10 · Zasláno: 17. 12. 2010, 23:03:50
Neměla by být správná syntaxe ini souboru takto?
[controls] route = html mode = debug layout = straight section = home language = en |
||
Mike8748 Profil |
#11 · Zasláno: 18. 12. 2010, 12:46:07
petrpribyl:
pokud ty hodnoty (html, debug, straight,...) nejsou tebou definovane konstanty v php, tak je dej do uvozovek, jinak jsou zpracovavany PHPckem ktere se snazi dosadit jejich hodnotu.... predpokladam ze nekde v kodu mas definovanou konstantu debug (radka 6) a v ni neco co se sem nehodi |
||
petrpribyl Profil * |
#12 · Zasláno: 18. 12. 2010, 18:17:59
Davex: díky, to bylo ono, problém byl v syntaxi ini souboru. Moje lokální PHP 5.3.3. to bere, na hostingu je verze 5.2.9., myslíš, že to bude tím ?
Každopádně děkuju za pomoc Mike8748: i na Tvou radu došlo, uvozovky jsem nasypal preventivně všude :) díky |
||
Davex Profil |
#13 · Zasláno: 19. 12. 2010, 13:25:15
petrpribyl:
„Moje lokální PHP 5.3.3. to bere, na hostingu je verze 5.2.9., myslíš, že to bude tím ?“ Je to možné, v PHP 5.3.3 je hodně vylepšení. |
||
Časová prodleva: 13 let
|
0