Я хочу установить расширение v8js для PHP5.5 в Ubuntu 12.04, но не могу заставить его работать.
Когда я пытаюсь установить расширение v8js версии 0.2.0 (последняя) с PECL, у меня появляется это сообщение:
configure: error: libv8 должна быть версии 3.24.6 или выше
ОШИБКА: `/ tmp / pear / temp / v8js / configure —with-v8js ‘не выполнена
Если я пытаюсь установить старую версию, у меня возникает ошибка компиляции. Это сообщение очень похоже на мою проблему: Установите v8js для PHP на Ubuntu
Как я могу исправить эту проблему?
РЕДАКТИРОВАТЬ: Я не мог установить его на Ubuntu 14.04 с PHP5.5, даже с переходом PHP с PHPbrew на PHP 5.4. Тем не менее, использование Ubuntu 12.04 с PHP 5.4 прекрасно работает. Я не пробовал переход с PHP 5.5 на 5.4 на Ubuntu 12.04.
в случае, если вы не можете найти libv8-dev
или же libv8-dbg
, вы можете найти правильную версию с помощью команды запуска
~$ 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
Откройте свой терминал / консоль
sudo apt-get install libv8-dev libv8-dbg g++ cpp
Сделать обновление sudo apt-get update
Пытаться sudo pecl install v8js-0.2.0
(или другая версия, т.е. sudo pecl install v8js-0.1.3
)
Отредактируйте свой php.ini
(Проверьте: Где мой файл php.ini?) файл, добавив: extension=v8js.so
,
Перезагрузите сервер
Если расширение все еще не работает, попробуйте отредактировать /etc/php5/conf.d/v8js.ini
и добавить extension=v8js.so
и перезапустите сервер снова.
Надеюсь это поможет.
Эти другие ответы работают хорошо, и я использовал 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 работал хорошо. Я проверил журнал изменений и обнаружил, что последние обновления не нужны в любом случае.