我一直在寻找答案,看来我需要将我的$ DYLD_LIBRARY_PATH设置为知道遗失库的位置,但我不知道它可能是什么。
我的机器是Mac OS X,我在MAMP下运行PHP5。我有一个shell命令用于我创建的可执行文件,它在终端中运行良好,但在我的PHP应用程序中根本不起作用。我收到以下错误:
$ Error occurred during initialization of VM Unable to load native library: libjava.jnilib
我想我只需要找到该库并将dir添加到上面列出的变量中,但我似乎无法找到它。感谢您的帮助!
答案 0 :(得分:0)
如Broken Java Mac 10.6所述,必须取消设置DYLD_LIBRARY_PATH。不知道为什么,它似乎需要在Unix系统上,而不是MacOSX。
如果MAMP设置为/ Applications / MAMP / Library / lib,那么如何禁用它:编辑/应用程序/ MAMP / Library / bin / envvars并注释掉以下行
DYLD_LIBRARY_PATH = “/应用/ MAMP /库/ lib中:$ DYLD_LIBRARY_PATH” 导出DYLD_LIBRARY_PATH 所以它看起来像这样:
这应解决问题,java 1.6可以正常运行。
有关详情,请点击此处:Java 1.6 Broken when called by background Symfony task
答案 1 :(得分:0)
这对我来说也适用于另一种环境:
<?php
exec('export DYLD_LIBRARY_PATH=""; java -version');
?>
参考文献:
- https://drupal.org/node/1257654
- Calling java from PHP exec