在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()。
在添加统计信息扩展名之前,通过phpinfo()确认正确的php.ini。
我重新启动了服务,重新启动了Vagrant框。我已经确认stats模块是通过phpinfo()& amp;我正在使用相同的方法确认它没有在开发中加载。只是似乎无法获得扩展加载。
非常感谢任何帮助!
答案 0 :(得分:0)
这是一个由两部分组成的问题。
安装了错误的PECL依赖项。 php5-dev
已安装pkg,指示PECL安装程序使用PHP API 20121212
PECL config默认情况下会查找标准的PHP 5安装,v.5.5.9。这需要反映正确的设置。可能使用pkg-config
或autoconfig
包可以通过在PHP检测过程中协助PECL来纠正这种打嗝。
<强>解决方案强>
清理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