Как установить V8js на PHP5.5?

Я хочу установить расширение v8js для PHP5.5 на Ubuntu 12.04, но не могу заставить его работать.

Когда я пытаюсь установить расширение v8js версии 0.2.0 (последнее) с PECL, у меня есть это сообщение:

configure: ошибка: libv8 должен быть версии 3.24.6 или выше     ERROR: `/tmp/pear/temp/v8js/configure --with-v8js 'не удалось

Если я пытаюсь установить старую версию, у меня есть ошибка компиляции. Это сообщение очень похоже на мою проблему: Установить v8js для php на ubuntu

Как я могу исправить эту проблему?

EDIT: я не смог установить его на Ubuntu 14.04 с PHP5.5, даже с понижением PHP с PHPbrew до PHP 5.4. Однако использование Ubuntu 12.04 с PHP 5.4 отлично работает. Я не пытался понизить рейтинг с PHP 5.5 до 5.4 на Ubuntu 12.04.

Ответ 1

если вы не можете найти libv8-dev или libv8-dbg, вы можете найти правильную версию командой run

~$ apt-cache search libv8
libv8-3.14-dbg - V8 JavaScript engine - debugging symbols
libv8-3.14-dev - V8 JavaScript engine - development files for 3.14 branch
libv8-3.14.5 - V8 JavaScript engine - runtime library
libv8-dev - V8 JavaScript engine - development files for latest branch

то вы можете запустить

~$ sudo apt-get install libv8-3.14-dev libv8-3.14-dbg g++ cpp

то вы можете попробовать установить v8js через pecl, запустив

~$ sudo pecl install v8js-0.2.0

если эта команда возвращает ошибку, подобную этой

configure: error: libv8 must be version 3.24.6 or greater
ERROR: `/tmp/pear/temp/v8js/configure --with-v8js' failed

вы можете попробовать установить v8js-0.1.3, запустив

~$ sudo pecl install v8js-0.1.3

затем отредактируйте свой php.ini, чтобы добавить расширение v8js

~$ echo "extension=v8js.so" >> /etc/php5/cli/php.ini

Ответ 2

  • Откройте терминал/консоль

  • sudo apt-get install libv8-dev libv8-dbg g++ cpp

  • Сделайте обновление sudo apt-get update

  • Попробуйте sudo pecl install v8js-0.2.0 (или другую версию i.e.: sudo pecl install v8js-0.1.3)

  • Отредактируйте файл php.ini (Check: Где находится файл php.ini?), добавив: extension=v8js.so.

  • Перезагрузите сервер

Если это расширение все еще не работает, попробуйте отредактировать /etc/php5/conf.d/v8js.ini и добавить extension=v8js.so и снова перезапустить сервер.

Надеюсь, что это поможет.

Ответ 3

Эти другие ответы работают хорошо, и я использовал v8js-0.1.3 в течение последних 1,5 лет, но после необходимости обновления до PHP 7 мне нужно было лучшее решение, поскольку v0.1.3 не компилируется с PHP 7 (что-то делать с php_smart_str переименовывается в php_smart_string).

После нескольких часов неудачного исследования и компиляции libv8 я не хотел проходить весь этот процесс на каждом сервере, который я предоставил.

В любом случае, я нашел этот сайт, который указывает на пусковую панель PPA сайт, который предоставляет пару различных пакетов ubuntu с библиотеками libv8 5.1 и 5.2.

Я запускал эти команды (пожалуйста, не добавляйте репозитории сторонних разработчиков без понимания рисков).

sudo apt-add-repository ppa:pinepain/libv8-5.2
sudo apt-get update
sudo apt-get install libv8-5.2-dev
sudo pecl install v8js-1.1.0

(Спасибо @JeyKeu за предложение добавить "apt-get update" к этим командам)

Я не мог получить v8js-1.3.0 или 1.2.0 для сборки, но 1.1.0 работал хорошо. Я проверил журнал изменений и обнаружил, что в моих обстоятельствах последние обновления не нужны.