Любые документы о V8JS в PHP?

Есть ли какая-либо документация о V8JS? Нужен ли мне только стандартный PHP или некоторые расширения для использования V8JS?

Буду очень благодарен за любую информацию о V8JS в PHP.

Ответ 1

Требования

PHP 5.3.3+ и V8 библиотека и заголовки установлены в правильные пути.

Установить

Ответ 3

Документы там не являются полными или не обновляются. На самом деле, я на самом деле сейчас сам делаю v8JS, и мне потребовалось несколько дней, чтобы собрать исходные библиотеки. Прежде всего, вы должны знать, что вы не можете этого сделать, у вас есть python < 2.7

Вот мои примечания по установке, которые я собираю для наших бродячих боксов, работающих под управлением centos 7.

cd /tmp

# Install depot_tools first (needed for source checkout)
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
export PATH=`pwd`/depot_tools:"$PATH"

# Download v8
fetch v8
cd v8

# Build (disable snapshots for V8 > 4.4.9.1)
make native library=shared snapshot=off -j8

# Install to /usr
sudo mkdir -p /usr/lib /usr/include
sudo cp out/native/lib.target/lib*.so /usr/lib64/
sudo cp -R include/* /usr/include
echo -e "create /usr/lib64/libv8_libplatform.a\naddlib out/native/obj.target/tools/gyp/libv8_libplatform.a\nsave\nend" | sudo ar -M

cd /usr/lib64
sudo chrpath -r '$ORIGIN' libv8.so

========================
Compile php-v8js itself
========================
cd /tmp
git clone -b master https://github.com/phpv8/v8js.git
cd v8js
phpize
./configure
make
make test
sudo make install

sudo service httpd restart

Заметка на строке make native library=shared snapshot=off -j8. У меня была попытка скомпилировать меня пару раз, я только что перезапустил ее. Я не уверен, почему он остановился, но он перезапустился просто отлично и завершился просто отлично.

После этого вам нужно создать файл расширения php /etc/php.d/v8js.ini со следующим содержимым

; Enable v8js extension module
extension=v8js.so

Выполните следующее, чтобы убедиться, что оно установлено правильно.

php -r "phpinfo();" | grep v8js

Если вы получите выход назад и никаких ошибок, вам будет хорошо.