Attention, cet article a plus d'une année d'ancienneté. Il est possible que les informations présentées ne soient plus à jour, spécialement dans le cadre d'un article technique.
Bonjour à tous,
Suite à la lecture de l’article de l’ami @Seboss666 j’ai eu l’idée d’installer HHVM pour le blog tout en gardant mes différents sockets PHP-FPM à coter pour les autres sites.
Je parlerais de ce mix un peu custom dans un autre article, aujourd’hui nous allons juste voir l’installation de HHVM en mode daemon avec l’utilisation des sockets unix. Rien que ça.
Si vous ne savez pas ce qu’est HHVM allez donc faire un tour à la fin de l’article de Seboss avant.
Téléchargement et installation de HHVM :
Pour télécharger et installer HHVM lancez les commandes suivantes :
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0x5a16e7281be7a449 echo deb http://dl.hhvm.com/debian wheezy main | tee /etc/apt/sources.list.d/hhvm.list apt-get update && apt-get install hhvm -y && update-rc.d hhvm defaults
Tout ce bousin vous lancera aussi HHVM au démarrage de la machine tant qu’à faire 😉
Configuration de HHVM :
La partie intéressante commence.
Avant tout nous allons commencer par ouvrir le fichier de configuration de HHVM :
nano /etc/hhvm/server.ini
Maintenant éditez votre fichier pour qu’il ressemble à celui-ci :
; php options pid = /var/run/hhvm/pid ; hhvm specific ; hhvm.server.port = 9000 hhvm.server.file_socket = /var/run/hhvm/server.sock hhvm.server.type = fastcgi hhvm.server.default_document = index.php hhvm.log.use_log_file = true hhvm.log.file = /var/log/hhvm/error.log hhvm.repo.central.path = /var/run/hhvm/hhvm.hhbc
La ligne qui nous permet de tourner avec les sockets Unix c’est celle-ci :
hhvm.server.file_socket = /var/run/hhvm/server.sock
Enregistrez votre fichier avec un petit coup de Ctrl+O et redémarrez le service :
service HHVM restart
Configuration sur Nginx :
Ouvrez votre virtualhost Nginx et changez le chemin du socket unix :
location @php { try_files $uri =404; include /etc/nginx/fastcgi_params; #fastcgi_pass unix:/var/lib/php5-fpm/web.sock; fastcgi_pass unix:/var/run/hhvm/server.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_intercept_errors on; }
Test de fonctionnement :
Créez un petit fichier phpinfo à la racine de votre site :
<?php
phpinfo();
?>
La sortie devrait être très épurée :
Problème de permissions :
Il est possible que vous ayez quelques problèmes de permissions comme ce que j’ai pu rencontrer avec l’envoi d’images sur mon WordPress.
Si c’est le cas, faites les chmods suivants sur le dossier de votre site web :
chown -R root:www-data /var/www/ton-site chmod g+w -R /var/www/ton-site
lors de l’apt-get install hhvm
A tout les coup j’ai droit à
Construction de l’arbre des dépendances
Lecture des informations d’état… Fait
Aucune version du paquet hhvm n’est disponible, mais il existe dans la base
de données. Cela signifie en général que le paquet est manquant, qu’il est devenu obsolète
ou qu’il n’est disponible que sur une autre source
E: Le paquet « hhvm » n’a pas de version susceptible d’être installée
Est-ce que tu saurais à quoi cela est du ?
même problème 🙁