php shell command error GLIBCXX_3.4.9 not found

后端 未结 2 1092
故里飘歌
故里飘歌 2021-01-21 16:15

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(

相关标签:
2条回答
  • 2021-01-21 16:58

    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:

    1. Remove /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).
    2. Un-set LD_LIBRARY_PATH in PHP before invoking oosplash, so it uses the newer library.
    0 讨论(0)
  • 2021-01-21 17:02

    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.

    0 讨论(0)
提交回复
热议问题