Naszło mnie wczoraj na przetestowanie Invision Board w wersji 2.0.0 PDR 5. Pojawił się jednak pewien problem. Podczas instalacji (bodjże na trzeciej podstronie instalatora - wywołanie forum/install/index.php?a=3 ) wyskakuje błąd postaci:
Cytat
Parse error:  parse error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/jojo/public_html/forum/ips_kernel/class_template.php(238) : regexp code on line 1

Fatal error:  Failed evaluating code: $this->_statement_if('ipb.member[''id''] == 0', '
<form action="{ipb.script_url}act=Login&amp;CODE=01&amp;CookieDate=1" method="post">
<input type="text" size="20" name="UserName" onfocus="this.value=''''" value="{ipb.lang[''qli_name'']}" />
<input type=''password'' size=''20'' name=''PassWord'' onfocus="this.value=''''" value=''ibfrules'' />
<input class="button" type=''image'' src=''{ipb.vars[''img_url'']}/login-button.gif'' />
</form>
') in /home/jojo/public_html/forum/ips_kernel/class_template.php on line 238

Linia, której on dotyczy wygląda następująco:
  1. <?php
  2. $html = preg_replace( &#092;"#(?:s+?)?<if=[\"'](.+?)[\"']>(.+?)</if>#ise\",  \"$this->_statement_if('1' , '2')\", $html );
  3. ?>

Oczywiste jest dla mnie, że błąd ten tyczy się złego umiejscowienia cudzysłowów, ale nie mam bladego pojęcia o wyrażeniach regularnych, więc zwracam się z prośbą o pomoc.
Częściowo mój problem rozwiązało ujęcie drugiego parametru w funkcję eval():
  1. <?php
  2. $html = preg_replace( &#092;"#(?:s+?)?<if=[\"'](.+?)[\"']>(.+?)</if>#ise\",  eval( \"$this->_statement_if('1' , '2')\" ), $html );
  3. ?>

Po takiej operacji instalator dochodził do końca, wyswietlał informację o poprawnym zakończeniu instalacji, ale na górze strony pojawiało się kilka błędów postaci:
Cytat
Parse error:  parse error, unexpected $ in /home/jojo/public_html/forum/ips_kernel/class_template.php(240) : eval()'d code on line 1


Szczególnie interesujące jest to, że powyższe problemy pojawiają się tylko na jednym serwerze. Jest to FreeBSD 5.2.1-RELEASE-p8 / Apache 2.0 (nie wiem dokładnie który) / php 4.3.7 Na innym (na przykład tym z mojej sygnaturki FreeBSD 5.1) wszystko działa bez zarzutu.

[EDIT]
Właśnie zauważyłem przy tym podświetleniu kodu, że tam jest mocno namieszane z cudzysłowami (mój edytor pokazywał wszystko dobrze) ale nadal nie mam pojęcia jak to poprawić.
[/EDIT]