syntax errors

Help
Mark S
2011-06-01
2013-04-26
  • Mark S
    Mark S
    2011-06-01

    I installed groogle-0.9.3-673.noarch.rpm using the instructions on the web site.  When I got to the part "Checking Your Installation", I did not know the URL, so I guessed "http://localhost/groogle" based on clues from the screen dumps.  It says:

    Fatal error: Call to undefined function mb_detect_order() in /var/www/groogle/htdocs/func_i18n.php on line 3

    I know that has something to do with detecting character encodings, so I commented it out and it says:

    Parse error: syntax error, unexpected $end in /var/www/groogle/htdocs/template.php on line 152

    That file still has a syntax error if I run it directly with php (instead of through the web server).

    PHP is

    # php --version
    PHP 5.3.6 (cli) (built: Mar 17 2011 20:58:15) 
    Copyright (c) 1997-2011 The PHP Group
    Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies
    

    This is on Fedora 14.  (I can't install centos on this machine just for one of my users to evaluate groogle.)

    I don't see any obvious syntax error.  Any clue what is going on?

     
  • Graham Pitt
    Graham Pitt
    2011-06-06

    Hi,

    Firstly, Fedora 14 is a bad choice for installation since PHP is compiled without support for features that future versions of Groogle will rely on (for instance, -enable-posix).

    As for your problem, it looks like you don't have the php-mbstring package installed.  The package is in the fedora repositories.

    Graham

     
  • Mark S
    Mark S
    2011-06-06

    Just to evaluate groogle, it looks like you need root access.  There is a lot of Red Hat Enterprise here, but those are all managed by the IT group and I don't have root.  I can either request that IT install groogle for evaluation (and get in a long line for that kind of work) or I can use a Fedora machine in the test lab.  It's not an ideal situation.

    "yum install php-mbstring" fixes the problem with mb_detect_order(). 

    Any thoughts on the syntax error in template.php ?  I did some further experimenting and found that I get the syntax error from http://localhost/groogle/ but NOT from http://localhost/groogle/template.php;  If I ask for template.php directly, it does not produce any output (I don't expect any - I see that it just defines some functions), but it doesn't report a syntax error.

    Mark

     
  • Graham Pitt
    Graham Pitt
    2011-06-06

    I suggest for evaluation you install a CentOS 5 VM.  But for Groogle 0.9.3 you can use Fedora.  This won't be true from the next release due to the way they have built php for the repositories.

    Regarding the error you are getting, ensure that 'short_open_tag = On' is set in your php.ini.

    The default is on, but fedora 14 sets this to off in the configuration they provide, so unless you have manually set this it will cause problems.

    Thanks,

    Graham

     
  • Mark S
    Mark S
    2011-06-08

    Thanks for the info.  It runs now, which makes it good enough to hand off to the developer who is doing the evaluation.  If we go into production with groogle, we should have no problem getting Red Hat Enterprise from our IT group. 

     
  • Graham Pitt
    Graham Pitt
    2011-06-08

    I'm glad you got it working.  All feedback appreciated.

    Graham