LD_LIBRARY_PATH specifies directories that the dynamic linker searches first. It is used when testing XS extensions to pick up the newly built extension rather than whatever is installed on the system.
haukex beat me to it, but I recommend simply putting delete $ENV{LD_LIBRARY_PATH} if $ENV{LD_LIBRARY_PATH} =~ m{/lampp/}; somewhere near the top of your script to ensure that any special values your httpd installation is using will not affect your script's subprocesses.
I also strongly advise against using shell commands when they can be avoided, particularly in Perl scripts exposed to the Web. As an example, your solution would have made your program vulnerable to ShellShock, even though you do not actually need a shell anywhere in this application.
How much output does this command produce? You may want to read the output incrementally rather than collecting it all. If so, also look into IPC::Open3 and possibly IO::Pty and Expect.
In reply to Re^3: running a backticks command behaves different in command line and browser
by jcb
in thread running a backticks command behaves different in command line and browser
by derion
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |