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.
-
在编译 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