antiword through php

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • guilesf2@hotmail.com

    #1

    antiword through php

    Hello -
    I've installed antiword and it is working fine from the command line.
    however, running it through php gives no output, BUT, if I run the
    script
    through php cli, it works fine.

    <?php
    exec('/usr/local/bin/antiword /users/mm/sites/test.doc', $output);
    var_dump($outpu t);
    ?>

    in a browser I get an empty array, but on the command line
    running php test.php
    returns an array with the proper text.

    I'm running php5.2.2 from Marc Liyanage on OS X tiger with apache 1.3

    antiword is 777, could it be some other security setting I'm missing?
    I've also tried using passthru and shell_exec with the same results.

    $out = shell_exec('ls -al');
    echo "<pre>$out</pre>";

    does work fine in a browser and on the command line.

  • Erwin Moller

    #2
    Re: antiword through php

    guilesf2@hotmai l.com wrote:
    Hello -
    I've installed antiword and it is working fine from the command line.
    however, running it through php gives no output, BUT, if I run the
    script
    through php cli, it works fine.
    >
    <?php
    exec('/usr/local/bin/antiword /users/mm/sites/test.doc', $output);
    var_dump($outpu t);
    ?>
    >
    in a browser I get an empty array, but on the command line
    running php test.php
    returns an array with the proper text.
    >
    I'm running php5.2.2 from Marc Liyanage on OS X tiger with apache 1.3
    >
    antiword is 777, could it be some other security setting I'm missing?
    I've also tried using passthru and shell_exec with the same results.
    >
    $out = shell_exec('ls -al');
    echo "<pre>$out</pre>";
    >
    does work fine in a browser and on the command line.
    Maybe the user apache or www-data or nobody or whatever your webuser is
    called, has no permissions to execute it?

    You can simply check this by:
    1) sudo su www-data (or whatever etc.etc see above)
    2) call the script as you do in your exec() command

    Or you blocked exec() in PHP.ini.

    Make sure you have full errorreporting on and check the logfiles.
    They often give information you miss.

    Good luck.

    Regards,
    Erwin Moller

    Comment

    • Andy Hassall

      #3
      Re: antiword through php

      On 16 May 2007 08:32:45 -0700, "guilesf2@hotma il.com" <guilesf2@hotma il.com>
      wrote:
      >Hello -
      >I've installed antiword and it is working fine from the command line.
      >however, running it through php gives no output, BUT, if I run the
      >script
      >through php cli, it works fine.
      >
      ><?php
      >exec('/usr/local/bin/antiword /users/mm/sites/test.doc', $output);
      >var_dump($outp ut);
      >?>
      >
      >in a browser I get an empty array, but on the command line
      >running php test.php
      >returns an array with the proper text.
      >
      >I'm running php5.2.2 from Marc Liyanage on OS X tiger with apache 1.3
      >
      >antiword is 777, could it be some other security setting I'm missing?
      >I've also tried using passthru and shell_exec with the same results.
      >
      >$out = shell_exec('ls -al');
      >echo "<pre>$out</pre>";
      >
      >does work fine in a browser and on the command line.
      antiword also uses some language definition files - are these accessible in
      the webserver environment?

      Also, redirect stderr back into stdout so you can see the error, or use
      proc_open or whatever to get hold of stderr.
      --
      Andy Hassall :: andy@andyh.co.u k :: http://www.andyh.co.uk
      http://www.andyhsoftware.co.uk/space :: disk and FTP usage analysis tool

      Comment

      • guilesf2@hotmail.com

        #4
        Re: antiword through php

        >
        antiword also uses some language definition files - are these accessible in
        the webserver environment?
        Yes, it turned out to be the accessibility of the map files - they
        weren't world readable,
        once I changed permissions, it worked great. Thanks all


        Comment

        Working...