当我想运行我的phpscript时
$cmd = shell_exec('/usr/local/hadoop/bin/hadoop fs -ls /Output');
echo '$output';
我在我的php错误日志中得到了这个:
Error: failed /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/server/libjvm.so, because /opt/lampp/lib/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/i386-linux-gnu/libstdc++.so.6)
为什么会这样呢?
我的ubuntu版本是12.04 LTS,我的GCC版本是4.6.3。
最佳答案
/opt/lampp/lib/libgcc_s.so.1
来自旧版GCC。可能将LD_LIBRARY_PATH
设置为包含目录/opt/lampp/lib
,从而覆盖了该库的系统版本。
您可能可以通过删除(或移开)/opt/lampp/lib/libgcc_s.so.1
文件来解决此问题,但是您应该检查是否没有其他库被相同的方法覆盖。
通常,它不应该影响其他应用程序,因为官方的libgcc_s.so.1
库(由上游和大多数发行版提供)非常向后兼容,因此始终可以使用较新的版本。但是,另一个应用程序可能已经发布了带有自定义更改的修补非官方版本libgcc_s.so.1
,在这种情况下,它现在可能会中断,但这似乎不太可能。
关于php - 由于找不到GCC 4.2.0,无法使用php执行hadoop命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45137741/