Вы можете дать OSX подсказку, где найти эту библиотеку, установив переменную окружения DYLD_LIBRARY_PATH как часть этого shell-exec. Это не имеет ничего общего с ними, использующими один и тот же двоичный файл, но может ли этот двоичный файл найти библиотеки, с которыми он связан, когда не работает apache. Вы можете увидеть, с какими библиотеками связаны двоичные файлы, запустив:
otool -L <binary>
Вы увидите, где находится libjava.jnilib, и добавите этот путь к вашему DYLD_LIBRARY_PATH. Может быть много библиотек, для которых нужно добавить пути.
Удачи!
Отказ от ответственности: существует множество лагерей вокруг использования DYLD_LIBRARY_PATH, это может (как и многие другие вещи) быть угрозой безопасности. Однако, поскольку в этом случае shell_exec () используется для выполнения двоичных файлов И делает это без использования абсолютного пути, DYLD_LIBRARY_PATH является наименьшей из проблем безопасности.