dyld:懒符号绑定失败:未找到符号:_clock_gettime - 在mongodb laravel中

Chi*_*027 8 php macos mongodb laravel-5.3

我正在使用Laravel 5.4版本来实现使用链接的 mongodb CRUD操作.我正在使用Mac OS El Captain 10.11.我已经安装了php版本7.1.16的mongodb.so扩展

当我尝试获得雄辩的连接时,它会抛出ERR_EMPTY_RESPONSE

我已经详细了解了在重启MAMP服务器期间在Apache中发现的以下错误日志

 Mon Aug 28 10:22:14 2017] [notice] Graceful restart requested, doing restart
[Mon Aug 28 10:22:15 2017] [notice] Digest: generating secret for digest authentication ...
[Mon Aug 28 10:22:15 2017] [notice] Digest: done
[Mon Aug 28 10:22:15 2017] [notice] Apache/2.2.31 (Unix) mod_wsgi/3.5 
 Python/2.7.13 PHP/7.1.1 mod_ssl/2.2.31 OpenSSL/1.0.2j DAV/2 
mod_fastcgi/2.4.6 mod_perl/2.0.9 Perl/v5.24.0 configured -- resuming normal operations
[Mon Aug 28 10:22:15 2017] [notice] FastCGI: process manager initialized (pid 4233)
dyld: lazy symbol binding failed: Symbol not found: _clock_gettime
Referenced from: 
/Applications/MAMP/bin/php/php7.1.1/lib/php/extensions/no-debug-non-zts-20160303/mongodb.so
Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: _clock_gettime
Referenced from: 
/Applications/MAMP/bin/php/php7.1.1/lib/php/extensions/no-debug-non-zts-20160303/mongodb.so
Expected in: /usr/lib/libSystem.B.dylib

dyld: lazy symbol binding failed: Symbol not found: _clock_gettime
Referenced from: 
 /Applications/MAMP/bin/php/php7.1.1/lib/php/extensions/no-debug-non-zts-20160303/mongodb.so
 Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: _clock_gettime
Referenced from: 
/Applications/MAMP/bin/php/php7.1.1/lib/php/extensions/no-debug-non-zts-20160303/mongodb.so
 Expected in: /usr/lib/libSystem.B.dylib
Run Code Online (Sandbox Code Playgroud)

此屏幕截图显示了mongodb扩展的详细信息 在此输入图像描述 我在网上搜索错误dyld: lazy symbol binding failed: Symbol not found: _clock_gettime并找到了这个答案.我已经应用了我提到的所有步骤,但无法解决问题.

请有人帮我摆脱这个.

Meh*_*ara 6

首先你需要将你的操作系统更新到 macOS Sierra,(我使用的是 10.12 版)

El Capitain 中未提供clock_gettime,

Apple(终于)在 Sierra 中引入了clock_gettime posix API。我们的配置脚本会检测到这一点并启用它。由于二进制文件不是在 Sierra 上执行,而是在不存在此功能的 El Capitain 上执行,因此运行时链接失败。使用您建议的解决方法不是一个好的解决方案。这可能看起来可行,但由于二进制文件不是为正在执行的系统编译的,因此以后出现奇怪的故障并非不可能。

参考来源:https : //bugs.erlang.org/browse/ERL-256

  • “升级您的系统”怎么可能是一个有效的答案? (2认同)
  • 升级我的系统是不可能的,因为我的硬件对于比 El Cap 更新的任何东西来说都太旧了。 (2认同)