Linux安装Phantomjs
我之前写过一篇《SptingBoot基于Echarts生成折线图,柱状图》的文章,不过是基于windows环境的使用与运行的,那Linux环境应该怎么使用Phantomjs呢?
安装
- PhantomJS(官方下载) 该超链接为官方下载地址,我们可以根据自己的环境,下载所需的版本或者最新的版本 或者直接在Linux运行
- 【
wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2
】下载Linux64的压缩包 - 下载完成后在压缩包所在文件夹下进行解压到当前文件夹下
tar -xvf phantomjs-2.1.1-linux-x86_64.tar.bz2
- 解压完成过,我们进入…/phantomjs-2.1.1-linux-x86_64/bin/文件夹中,将phantomjs执行文件放入/use/bin文件夹下,相当于我们在windows中配置环境变量,从而方便我们运行
sudo ln -s /phantomjs-2.1.1-linux-x86_64/bin/phantomjs /usr/bin/phantomjs
- 完成后,我们进行输入命令
phantomjs -h
如果你发现报错了 (没有报错请跳过)
root@ai:/home/ai# phantomjs -h
Auto configuration failed
140454038030272:error:25066067:DSO support routines:DLFCN_LOAD:could not load the shared library:dso_dlfcn.c:185:filename(libproviders.so): libproviders.so: cannot open shared object file: No such file or directory
140454038030272:error:25070067:DSO support routines:DSO_load:could not load the shared library:dso_lib.c:244:
140454038030272:error:0E07506E:configuration file routines:MODULE_LOAD_DSO:error loading dso:conf_mod.c:285:module=providers, path=providers
140454038030272:error:0E076071:configuration file routines:MODULE_RUN:unknown module name:conf_mod.c:222:module=providers
这个问题是因为Ubuntu 22.04 使用新的 OpenSSL 版本 3.0.2 而不是旧的 OpenSSL 版本 1.1.1 。这些 OpenSSL 版本不完全向后兼容,所以这就是为什么您在 PhantomJS 尝试自动配置 SSL/TLS 设置时看到此错误的原因。
export OPENSSL_CONF=/dev/null
再次运行phantomjs -h
,就恢复正常
root@ai:/home/ai# phantomjs -h
Usage:
phantomjs [switchs] [options] [script] [argument [argument [...]]]
Options:
--cookies-file=<val> Sets the file name to store the persistent cookies
--config=<val> Specifies JSON-formatted configuration file
--debug=<val> Prints additional warning and debug message: 'true' or 'false' (default)
--disk-cache=<val> Enables disk cache: 'true' or 'false' (default)
--disk-cache-path=<val> Specifies the location for the disk cache
。。。。。
- 接下来我们运行
phantomjs /phantomjs-2.1.1-linux-x86_64/examples/hello.js
root@ai:/# phantomjs /phantomjs-2.1.1-linux-x86_64/examples/hello.js
Hello, world!
输出Hello, world!代表phantomjs 安装成功