在Mac OSX上使用MAMP的PHP中的shell_exec()在初始化VM时发生错误无法加载本机库:libjava.


shell_exec() in PHP on Mac OSX using MAMP gives Error occurred during initialization of VM Unable to load native library: libjava.jnilib

我已经找遍了答案,似乎我需要将我的$DYLD_LIBRARY_PATH设置为知道我丢失的库在哪里的东西,但我不能告诉那可能是什么。

我的机器是Mac OS X,我在MAMP下运行PHP5。我有一个shell命令,用于我创建的可执行文件,它在终端中运行良好,但在PHP应用程序中根本不起作用。我得到以下错误:

$ Error occurred during initialization of VM Unable to load native library: libjava.jnilib

我想我只需要找到那个库并将dir添加到上面列出的变量中,但我似乎找不到它。提前感谢您的帮助!

Broken Java Mac 10.6提到必须取消设置DYLD_LIBRARY_PATH。不知道为什么,它似乎在Unix系统上是需要的,而不是MacOSX。

如果MAMP设置为/Applications/MAMP/Library/lib,下面是禁用它的方法:编辑/Applications/MAMP/Library/bin/envars并注释掉以下行

DYLD_LIBRARY_PATH ="/应用程序/MAMP/图书馆/lib: DYLD_LIBRARY_PATH&quot美元;出口DYLD_LIBRARY_PATH所以它看起来像这样:

<标题> DYLD_LIBRARY_PATH ="/应用程序/MAMP/图书馆/lib: DYLD_LIBRARY_PATH&quot美元;<标题>出口DYLD_LIBRARY_PATH h1> 应该可以解决问题,java 1.6可以正常运行。

>

这在另一个环境中也适用:

<?php
  exec('export DYLD_LIBRARY_PATH=""; java -version');
?>

引用:
——https://drupal.org/node/1257654
从PHP中调用java