难以加载pecl stats模块w / php 5.6 fpm

时间:2016-08-05 00:30:03

标签: php nginx pecl

在Vagrant开发环境中加载PECL统计模块遇到困难 Dev Env:Ubuntu 14.04,Nginx 1.4.6,PHP 5.6.24。

生产副本成功运行。
Prod Env:Ubuntu 14.04,Nginx 1.4.6,PHP 5.5.9。

我们需要将应用程序迁移到新服务器。新服务器节点与上面列出的Dev / Vagrant框的env设置相同。只有当前节点和环境之间的环境变化新节点是PHP版本。

PHP5.6-FPM服务正在Vagrant中按预期运行。应用程序按预期工作,直到尝试运行任何php stats方法,例如stats_standard_deviation()。

已经安装了PECL stats 1.0.5&验证。 pecl list

在添加统计信息扩展名之前,通过phpinfo()确认正确的php.ini。

location of php.ini

php extension dir

stats.so extension in php.ini

确认stats.so扩展名存在。 stats.so extension file confirmation

我重新启动了服务,重新启动了Vagrant框。我已经确认stats模块是通过phpinfo()& amp;我正在使用相同的方法确认它没有在开发中加载。只是似乎无法获得扩展加载。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

这是一个由两部分组成的问题。

  1. 安装了错误的PECL依赖项。 php5-dev已安装pkg,指示PECL安装程序使用PHP API 20121212

  2. PECL config默认情况下会查找标准的PHP 5安装,v.5.5.9。这需要反映正确的设置。可能使用pkg-configautoconfig包可以通过在PHP检测过程中协助PECL来纠正这种打嗝。

  3. <强>解决方案

    清理PECL stats模块以及php dev包 设置PECL配置。 然后重新安装正确的版本。

    # 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