PhantomJS has crashed. Please read the bug reporting guide at....

PhantomJS has crashed. Please read the bug reporting guide at…

服务器环境centos

解决方法

先上我这边的问题原因,字体问题,在服务器安装需要的字体,问题即得到解决。

我的排查过程

在测试环境和我本机都没有问题,但在线上就崩溃了,这个问题一时也让我有点崩溃,几乎检查了所有代码相关的问题,没有发现任何异常,那么问题只能出在工具或服务器环境上了。

一、找错误日志

我希望能从phantomjs的日志上去发现问题所在,但无奈没找到phantomjs的关键日志。

二、从待转换文件上找问题

看不了错误日志,那么只能用最笨的方法从html本身去一行行排查了,先将html全部注释掉,再转换,如此重复,差不多就如下面的代码过程:

for(i=0;i<html最大行数){
	if(phantomjs崩溃){
		print(“定位到问题所在!)
	}
	else{
		do something //继续放开html内容 
		i=i+放开行数
	}
}

功夫不负有心人,最终定位到某些加了样式的代码会导致崩溃,然后检查了下样式,发现其中有一行是字体样式,如果把字体样式去掉就不会崩溃,问题定位到了,剩下的就是解决问题了。

字体环境

我这边的情况是缺少arial字体,使用windows开发的同学可以参考:在CentOS中安装arial字体
使用macos的同学,原理和windows的差不多,去字体册里找到相应字体,然后在访达中显示,再把它copy一份到服务器的/usr/share/fonts/arial(建个arial目录)

结语

好了,这次问题的解决过程大致如此,在找phantomjs日志花的时间其实比一行行去注释html花得时间还要多,一是自己对phantomjs比较陌生,二是这个工具的生态环境也不确实比较差(快5年在github上没有更新)。所以与其去完全陌生的环境找解决方案,不如从自己相对熟悉的地方去发散找解决方法,花点笨功夫,可能问题还能更快得到解决。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值