Как установить 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 работал хорошо. Я проверил журнал изменений и обнаружил, что в моих обстоятельствах последние обновления не нужны.