文档章节

php7在FreeBSD系统下静态编译iconv,导致BUS ERROR (core dump)解决

hell0cat
 hell0cat
发布于 2018/10/18 15:21
字数 388
阅读 21
收藏 0

bug页面: https://bugs.php.net/bug.php?id=72198
触发此bug需要很多条件:

  1. FreeBSD系统(10.0以上),Linux系统、MacOS下均无此问题
  2. 静态编译iconv扩展,动态iconv扩展也无此问题
  3. 系统安装了libiconv库(根据php bugs报告页面)
  4. 必须是直接运行在硬件之上的FreeBSD系统(虚拟机下的FreeBSD系统也没有重现出此问题)

这个问题,从2016年出现,到现在依然没有人修复,因为这个bus error需要触发的条件很多,所以官方开发iconv扩展的人应该很难重现这样的bug,导致迟迟无法修复。

我的解决方案是,编译php7.0以上的时候去掉iconv扩展,但很不幸,必须得同时去掉gd扩展,因为gd扩展需要iconv扩展才能运行。 所以编译的时候添加参数:

--without-iconv 

iconv默认是打开的,gd不是,所以编译选项去掉 --with-gd 就可以正常编译了。

编译完成后,安装系统的php72-gd、php72-iconv扩展,

pkg install php72-gd php72-iconv

将目录 /usr/local/lib/php/20170718 内的gd.so和iconv.so拷贝到安装php的路径 php.ini里打开这两个扩展即可:

extension=iconv.so
extension=gd.so

© 著作权归作者所有

共有 人打赏支持
hell0cat
粉丝 37
博文 48
码字总数 24082
作品 0
徐汇
程序员
私信 提问
klish 1.6.4 发布,CISCO 方式的 SHELL

klish (Kommand Line Interface SHell) 是一个在 Unix 系统上实现了 Cisco 方式的命令行接口的框架,可通过XML进行配置。是 clish 的衍生版本。 klish 1.6.4 是一个 bugfix 版本,该版本只对...

oschina
2013/02/18
1K
0
FreeBSD 爆出 Root 权限漏洞

一名安全研究人员发现,FreeBSD操作系统中存在能让限权的用户完全控制整个系统的安全漏洞。 一名叫Przemyslaw Frasunek的波兰安全顾问告诉Register小组:Bug存在于FreeBSD的kqueue通知接口,...

红薯
2009/09/15
462
1
FreeBSD 10.0-BETA4 发布

FreeBSD 10.0 的第四个 Beta 版本发布了,与 Beta3 版本比较的改进内容包括: - Add preliminary support for RTL8106E, RTL8168G, RTL8168GU, RTL8411B, and RTL8168EP. - Enable fingerpri......

红薯
2013/12/04
809
2
FreeBSD 12.0-BETA2 发布,类 Unix 操作系统

FreeBSD 12.0-BETA2 发布了。FreeBSD 12.0 是该项目的一个重要特性版本。发行说明尚未编写,因此目前尚未对所有更改进行全面概述。根据一直依赖对 FreeBSD 12 的关注,一些功能将会包括各种 ...

达尔文
2018/10/28
883
3
FreeBSD 12.0-BETA1 发布,类 Unix 操作系统

在经历了 10 个 alpha 版本后,FreeBSD 12.0-BETA1 发布了。 随着第一个 beta 版本的到来,FreeBSD 12.0 的开发过程又回到了正轨。目前支持的架构包括 amd64, i386, aarch64, armv6, armv7, ...

局长
2018/10/22
2.1K
5

没有更多内容

加载失败,请刷新页面

加载更多

如何开发一款以太坊(安卓)钱包系列2 - 导入账号及账号管理

这是如何开发一款以太坊(安卓)钱包系列第2篇,如何导入账号。有时用户可能已经有一个账号,这篇文章接来介绍下,如何实现导入用户已经存在的账号。 导入账号预备知识 从用户需求上来讲,导...

Tiny熊
今天
2
0
intellJ IDEA搭建java+selenium自动化环境(maven,selenium,testng)

1.安装jdk1.8; 2.安装intellJ; 3.安装maven; 3.1 如果是单前用户,配置用户环境变量即可,如果是多用户,则需配置系统环境变量,变量名为MAVEN_HOME,赋值D:\Application\maven,往path中...

不最醉不龟归
今天
3
0
聊聊ShenandoahGC的Brooks Pointers

序 本文主要研究一下ShenandoahGC的Brooks Pointers Shenandoah Shenandoah面向low-pause-time的垃圾收集器,它的GC cycle主要有 Snapshot-at-the-beginning concurrent mark包括Init Mark(P......

go4it
昨天
3
0
Makefile通用编写规则

#简单实用的Makefile模板: objs := a.o b.o test:$(objs) gcc -o test $^ # .a.o.d .b.o.d dep_files := $(foreach f,$(objs),.$(f).d) dep_files := $(wildcard $(dep_files)) ifneq ($(d......

shzwork
昨天
2
0
《万历十五年》的读后感作文4000字

《万历十五年》的读后感作文4000字: 万历十五年,即1587年,距今已过去432年。在明朝276的历史中,这一年很平淡,并没有什么特别之处。黄仁宇的《万历十五年》一书,有别于其他的历史叙述方...

原创小博客
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部