I have a user who is using system() in php to run an external program and
this program just happens to be written in java and it's not working.

The error I see in the error_log is: Error: could not find libjava.so

It's as if LD_LIBRARY_PATH needs to be set.  I tried setting that in the php
script using putenv() before the java program was called, no luck.  I also
tried setting things like JAVA_HOME.  I even went and took every environment
variable from the user's environment and did a putenv() before running the
program.  I have concluded it doesn't seem like an environment problem.

I used kdump/ktrace to see what was going on and it's definitely looking for
this library down some library path which is just not correct, even if I set
LD_LIBRARY_PATH.  And remember, I'm setting LD_LIBRARY_PATH inside my PHP
script, so suPHP has already started the script.

It works fine if I turn off suPHP.  So it's definitely something suPHP is
doing that's causing this to fail.

And so far, it's only Java programs that are failing, system or exec of
anything else seems to work fine.

I'm running apache 2.2.6 on freebsd 6.3, PHP 5.2.5 and using java
diablo-jdk1.5.0.

Michael Grant
_______________________________________________
suPHP mailing list
[email protected]
http://lists.marsching.biz/mailman/listinfo/suphp

Reply via email to