从 PhP 执行时,PhantomJS 无法找到 GLIBC
PhantomJS unable to find GLIBC when executed from PhP
我是 运行ning Ubuntu 16.04 LTS 桌面和 lampp 堆栈(apache2,php7.0,mysql)。我正在尝试从 PhP 执行 phantomjs -v 并且它说它找不到`GLIBCXX_3.4.9',但是当我通过控制台执行它时 运行s 并输出版本( 2.1.1)就好了。
我排除的因素:
Permissions
信息:
PHP: Version 7.1.10
OS: 16.04.1-Ubuntu
错误:
/phantomjs-2.1.1-linux-x86_64/bin/phantomjs: /opt/lampp/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by phantomjs-2.1.1-linux-x86_64/bin/phantomjs)
PhP 执行:
$cmd = "/phantomjs-2.1.1-linux-x86_64/bin/phantomjs -v";
$my_output = shell_exec($cmd.' 2>&1; echo $?');
echo $my_output."<br><br>".get_current_user()."<br><br>".$cmd;
编辑:这不是 libstdc++ 错误。正如我所说,我可以在控制台中 运行 它很好,只有当我尝试在 PhP 中 运行 它时,我才会出错。
libstdc++6 is already the newest version (5.4.0-6ubuntu1~16.04.5).
contempt@contempt-MacBookPro:/opt/lampp/lib$ strings libstdc++.so.6 | grep GLIB
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBC_2.3
GLIBC_2.4
GLIBC_2.2.5
显然,我发布问题时比我应该进行的研究少了一两分钟。 shell_exec 命令尝试使用 /opt/lampp/ 中的 /lib/ 同时 Ubuntu 中的控制台使用 /usr/lib/ 中的 /lib/ 从 /opt/lampp 中删除 libstdc++ 并复制它从我的用户文件中修复了我的问题。
contempt@contempt-MacBookPro:/opt/lampp/lib$ cp -a /usr/lib/x86_64-linux-gnu/libstdc++.so.6 .
我是 运行ning Ubuntu 16.04 LTS 桌面和 lampp 堆栈(apache2,php7.0,mysql)。我正在尝试从 PhP 执行 phantomjs -v 并且它说它找不到`GLIBCXX_3.4.9',但是当我通过控制台执行它时 运行s 并输出版本( 2.1.1)就好了。
我排除的因素:
Permissions
信息:
PHP: Version 7.1.10
OS: 16.04.1-Ubuntu
错误:
/phantomjs-2.1.1-linux-x86_64/bin/phantomjs: /opt/lampp/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by phantomjs-2.1.1-linux-x86_64/bin/phantomjs)
PhP 执行:
$cmd = "/phantomjs-2.1.1-linux-x86_64/bin/phantomjs -v";
$my_output = shell_exec($cmd.' 2>&1; echo $?');
echo $my_output."<br><br>".get_current_user()."<br><br>".$cmd;
编辑:这不是 libstdc++ 错误。正如我所说,我可以在控制台中 运行 它很好,只有当我尝试在 PhP 中 运行 它时,我才会出错。
libstdc++6 is already the newest version (5.4.0-6ubuntu1~16.04.5).
contempt@contempt-MacBookPro:/opt/lampp/lib$ strings libstdc++.so.6 | grep GLIB
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBC_2.3
GLIBC_2.4
GLIBC_2.2.5
显然,我发布问题时比我应该进行的研究少了一两分钟。 shell_exec 命令尝试使用 /opt/lampp/ 中的 /lib/ 同时 Ubuntu 中的控制台使用 /usr/lib/ 中的 /lib/ 从 /opt/lampp 中删除 libstdc++ 并复制它从我的用户文件中修复了我的问题。
contempt@contempt-MacBookPro:/opt/lampp/lib$ cp -a /usr/lib/x86_64-linux-gnu/libstdc++.so.6 .