Replies: 3 comments
-
v8js 在uoj里,主要作用就是富文本。 问题点: 国内源: 下载 depot_tools 工具git clone https://source.codeaurora.org/quic/lc/chromium/tools/depot_tools 下载v8。这个东西很大,下的贼慢
|
Beta Was this translation helpful? Give feedback.
-
一个较快的方法: # pull 社区版
sudo docker pull universaloj/uoj-system
# 启动社区版
sudo docker run --name uoj -dit --cap-add SYS_PTRACE universaloj/uoj-system
# 复制出 libv8
sudo docker cp uoj:/opt/libv8-7.5 ./
sudo docker cp ./libv8-7.5 uoj_all:/opt
sudo docker exec -it uoj_all /bin/bash
# 以下指令在exec 中
# 安装 v8js
echo /opt/libv8-7.5 | pecl install v8js
# 启用 v8js
echo extension=v8js >/etc/php/7.4/mods-available/v8js.ini
ln -s /etc/php/7.4/mods-available/v8js.ini /etc/php/7.4/apache2/conf.d/20-v8js.ini
service apache2 restart
exit |
Beta Was this translation helpful? Give feedback.
-
前几天我交了个commit:1ace7d3 |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
在编译 Markdown 时,UOJ 使用了 jsv8 来在 PHP 程序里调用一段 js 脚本。
(这里有一些历史原因。。因为很久以前 UOJ 的 Markdown 编译需要既在客户端也需要在服务端进行。。客户端的是为了预览。。所以才选择了 js。。后来放弃了这一设计,直接传给服务端编译了,所以会出现让 PHP 执行 js 的情况)
但是当前版本里面,docker 容器并不会自带 jsv8,导致博客功能无法直接使用。
这是因为 Ubuntu 20.04 里面 PHP 的 jsv8 不再能很方便地安装了。。
所以下面我来简单地贴一下当时我在给 Ubuntu 20.04 装 jsv8 时记的笔记,装好后应该就能正常使用博客功能了。
第一步
https://github.com/phpv8/v8js/blob/php7/README.Linux.md
根据这里的指导编译v8。版本选择的是: 7.5.288.31
第二步
把编译好后的文件传到服务器上去,然后在服务器上执行(切换到一个能看到
out.gn
的目录):第三步
使用
pecl install
安装 v8js第四步
启用 v8js
Beta Was this translation helpful? Give feedback.
All reactions