V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wuYin
V2EX  ›  macOS

macOS 终端运行程序 Segmentation fault: 11

  •  
  •   wuYin · 2017-05-19 14:55:23 +08:00 · 6393 次点击
    这是一个创建于 2777 天前的主题,其中的信息可能已经有所发展或是发生改变。

    今天在安装 composer,php 需要 openssl.so 模块,于是去 php.net 下载了源码编译出,配置好以后,就出现这个报错了,运行什么命令都是Segmentation fault: 11报错,google 也没找到解决方法,求助 V 友

    9 条回复    2017-09-11 19:07:33 +08:00
    freefcw
        1
    freefcw  
       2017-05-19 15:08:06 +08:00   ❤️ 1
    如果你希望查到跟好的办法,就查一下 mac 下怎么 core dump,怎么跟踪栈。。感觉是 openssl 扩展什么地方有问题

    要省心,我都是 brew 解决了
    UnisandK
        2
    UnisandK  
       2017-05-19 15:14:39 +08:00   ❤️ 1
    这不是终端 Segmentation fault,是 PHP 崩了吧。。你先把模块卸了?
    wuYin
        3
    wuYin  
    OP
       2017-05-19 15:24:45 +08:00 via Android
    @UnisandK 刚 mv openssl.so 后,php 命令能跑,多谢。
    但安装 composer 官网的安装方法需要 php 支持 ssl,打算安装在 linux 虚拟机里边,不折腾 mac 了。源码安装的 PHP7.1 真的血崩
    UnisandK
        4
    UnisandK  
       2017-05-19 15:35:52 +08:00
    @wuYin 搜了下找到个 https://php-osx.liip.ch/ 看着不错的样子,中文介绍在 https://www.zybuluo.com/phper/note/137276
    wuYin
        5
    wuYin  
    OP
       2017-05-19 16:08:36 +08:00 via Android
    @UnisandK 好的谢谢,我试试
    calledT
        6
    calledT  
       2017-05-20 11:05:41 +08:00
    升级了 10.12.5 之后也出现这个问题,最后把用到的东西重新安装一次。
    OldHu
        7
    OldHu  
       2017-09-10 18:34:29 +08:00
    @wuYin 我也碰到这个问题了,编译出来的 openssl.so 文件挂上去就导致 php 报 segment fault 11 错误。 我系统是 macos 10.9.5. 请问你最后解决这个问题了吗? 谢谢。
    OldHu
        8
    OldHu  
       2017-09-10 20:36:34 +08:00
    经过一番折腾,发现估计是软件版本问题,我的解决方法是使用 brew 全部升级。
    brew update
    brew upgrade

    运行完毕后,发现 php 可以成功加载 openssl 模块了。
    OldHu
        9
    OldHu  
       2017-09-11 19:07:33 +08:00
    特别补充, 扩展的加载顺序也会导致 php 报 segment fault 错误。 需要先加载 openssl 模块再加载其他模块。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1042 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 20:00 · PVG 04:00 · LAX 12:00 · JFK 15:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.