2016-08-05 1 views
1

Difficulté à obtenir le chargement du module stats PECL dans un environnement de développement vagabond.
Dev Env: Ubuntu 14.04, Nginx 1.4.6, PHP 5.6.24.Difficulté de chargement du module stats pecl w/php 5.6 fpm

Copie de production exécutée avec succès.
Prod Env: Ubuntu 14.04, Nginx 1.4.6, PHP 5.5.9.

Nous devons migrer l'application vers un nouveau serveur. Le nouveau nœud de serveur est la même configuration d'env que la boîte Dev/Vagrant listée ci-dessus. Seul le changement d'environnement entre le nœud actuel & nouveau nœud est la version de PHP.

Le service PHP5.6-FPM s'exécute comme prévu dans Vagrant. L'application fonctionne comme prévu, jusqu'à ce que vous essayiez d'exécuter des méthodes de statistiques php, par exemple stats_standard_deviation().

stats PECL 1.0.5 a été installé & vérifié. pecl list

Confirmation du bon php.ini via phpinfo() avant d'ajouter l'extension de statistiques.

location of php.ini

php extension dir

stats.so extension in php.ini

confirmé l'extension stats.so existe. J'ai redémarré les services, j'ai redémarré la boîte Vagrant. J'ai confirmé que le module stats est chargé en production via phpinfo() & en utilisant la même méthode pour confirmer qu'il ne charge PAS dans dev. Juste ne peut pas sembler obtenir l'extension chargée.

Toute aide est grandement appréciée!

Répondre

0

Il s'agissait d'un problème en deux parties.

  1. Une dépendance PECL incorrecte a été installée. php5-dev était le pkg installé, qui a utilisé le programme d'installation PECL pour l'utiliser PHP API 20121212

  2. PECL config recherche par défaut l'installation de PHP 5, v. 5.5.9. Cela devait refléter les paramètres corrects. Peut-être en utilisant soit pkg-config ou autoconfig paquets permettrait de remédier à ce hoquet en aidant PECL dans le processus de détection de PHP.

Solution

Nettoyer le PECL stats module, ainsi que le paquet php dev.
Définir la configuration PECL. Ensuite, réinstallez les versions correctes.

# Clean out previous ver. 
$ pecl uninstall stats-1.0.5 
$ apt-get remove --purge php5-dev 

# Install correct PECL dependency 
$ apt-get install php5.6-dev 

# Set PECL config to correct PHP install 
$ pecl config-set php_bin /usr/bin/php5.6 
$ pecl config-set php_ini /etc/php/5.6/fpm 

# Re-install PECL package & restart PHP-FPM service 
$ pecl install stats-1.0.5 
$ service php5.6-fpm restart