Im trying to execute shell command from php to convert files to pdf but i get this error.
Could someone explain me in details how to fix it?
Im not so good in linux(
version `GLIBCXX_3.4.9' not found
The problem is that in this environment, you are using /opt/lampp/lib/libstdc++.so.6
which is too old, and does not define the `GLIBCXX_3.4.9' version.
if i execute command straight through terminal everything works.
In that case, you are likely using /usr/lib/libstdc++.so.6
, which is (apparently) new enough.
Possible solutions:
/opt/lampp/lib/libstdc++.so.6
and use /usr/lib/libstdc++.so.6
everywhere (libstdc++.so.6 is supposed to be backwards-compatible, so in theory there should be no reason to use older version).LD_LIBRARY_PATH
in PHP
before invoking oosplash
, so it uses the newer library.Try this method https://stackoverflow.com/a/63443384/12099812
1.add below line in your PHP file.
var_dump(shell_exec("whoami"));
you can find the username in your browser after clicking the url related to your PHP file
2.in your terminal
sudo vim /ect/sudoers
#in vim editor, add this line in your sudoers file
"username ALL=(ALL) NOPASSWD:ALL"
#change username to that found in step one
3.change the exec cmd in your PHP file to
exec("sudo python3 urfilename.py")
The main reason for your problem maybe the root permission, so by changing your sudoers file, the error might be tackled.