2015-03-24 14 views
11

Ich möchte die v8js Erweiterung für PHP5.5 auf Ubuntu 12.04 installieren, kann aber nicht funktionieren.Wie installiert man V8js auf PHP5.5?

Wenn ich versuche, die v8js Erweiterung Version 0.2.0 (spätestens) mit PECL zu installieren, ich habe diese Nachricht:

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

Wenn ich versuche, eine alte Version zu installieren, ich habe einen Übersetzungsfehler. Diese Nachricht ist meinem Problem sehr ähnlich: Install v8js for php on ubuntu

Wie kann ich dieses Problem beheben?

EDIT: Ich konnte es nicht auf Ubuntu 14.04 mit PHP5.5 installieren, auch mit einem PHP-Downgrade mit PHPbrew zu PHP 5.4. Allerdings funktioniert Ubuntu 12.04 mit PHP 5.4 hervorragend. Ich habe das Downgrade von PHP 5.5 auf 5.4 unter Ubuntu 12.04 nicht probiert.

Antwort

2
  1. Öffnen Sie Ihre Terminal/Konsole

  2. sudo apt-get install libv8-dev libv8-dbg g++ cpp

  3. Machen Sie ein Update sudo apt-get update

  4. Versuchen sudo pecl install v8js-0.2.0 (oder einer anderen Version heißt: sudo pecl install v8js-0.1.3)

  5. Bearbeiten Sie Ihre php.ini (Überprüfen Sie: Where is my php.ini file?) Datei durch Hinzufügen: extension=v8js.so.

  6. Restart Server

Wenn es die Erweiterung noch nicht funktioniert, versuchen /etc/php5/conf.d/v8js.ini zu bearbeiten und hinzufügen extension=v8js.so und wieder neu starten Server.

Hoffe, das hilft.

4

, falls Sie nicht finden können libv8-dev oder libv8-dbg, können Sie die richtige Version von Fahrbefehl

~$ 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 

dann können Sie

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

dann können Sie versuchen, v8js zu installieren laufen finden über pecl by running

~$ sudo pecl install v8js-0.2.0 

wenn dieser Befehl Fehler wie t zurückgeben seine

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

können Sie versuchen, v8js-0.1.3 statt

~$ sudo pecl install v8js-0.1.3 

, indem Sie dann Ihre php.ini bearbeiten zu installieren v8js Erweiterung

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

Bessere Anweisungen als die offizielle Dokumentation. Endlich installiert, Prost. Und danke, dass Sie die Fehler, die bei der Beantwortung der NETCreator-Antwort aufgetreten sind, behandelt haben. – Kiee

+1

ich fließen auf die gleiche Weise Installation war Erfolg, aber wenn ich erstellt index.php Datei mit $ v8 = neue V8Js(); Ich habe bekam Fatal Fehler: Klasse 'V8Js' nicht gefunden. meine v8js.so bei /usr/lib/201212/v8js.so und meine init befindet sich an /etc/php5/cli/php.ini kann jemand leite mich auf diese liegt ??? –

0

Diese anderen Antworten hinzufügen funktionieren gut und ich v8js-0,1 .3 für die letzten 1,5 Jahre, aber nachdem ich auf PHP 7 upgraden musste, brauchte ich eine bessere Lösung als v0.1.3 kompiliert nicht mit PHP 7 (etwas, was damit zu tun hat, dass php_smart_str in php_smart_string umbenannt wird).

Nach ein paar Stunden frustrierender Recherche und Kompilierung von libv8 wollte ich diesen ganzen Prozess nicht auf jedem von mir bereitgestellten Server durchführen.

Wie auch immer, ich fand this site, die Sie auf eine launchpad PPA site zeigt, die ein paar verschiedene Ubuntu-Pakete mit den Bibliotheken 5.1 und 5.2 libv8 bietet.

Ich habe diese Befehle ausgeführt (bitte fügen Sie keine Repositories von Drittanbieter-Entwicklern hinzu, ohne die Risiken zu verstehen).

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 

(Dank @JeyKeu für die Annahme, "apt-get update" auf diese Befehle hinzufügen)

ich nicht v8js-1.3.0 oder 1.2.0 bekommen konnte zu bauen, aber 1.1.0 gut gearbeitet. Ich habe das Changelog überprüft und festgestellt, dass die neuesten Updates in meinem Fall sowieso nicht notwendig sind.