2016-08-05 5 views
1

PECL統計モジュールをVagrant開発環境に読み込むのが難しい。
Dev Env:Ubuntu 14.04、Nginx 1.4.6、PHP 5.6.24。pecl statsモジュールを読み込むのが難しいPHP 5.6 fpm

生産コピーが正常に実行されています。
Prod Env:Ubuntu 14.04、Nginx 1.4.6、PHP 5.5.9。

アプリケーションを新しいサーバーに移行する必要があります。新しいサーバーノードは、上記のDev/Vagrantボックスと同じenv設定です。現在のノード&と新しいノードとの間の環境変更のみがPHPバージョンです。

Vagrantでは、期待どおりPHP5.6-FPMサービスが実行されています。アプリケーションは、stats_standard_deviation()などの任意のPHP統計メソッドを実行しようとするまで、期待どおりに動作します。

PECL統計情報1.0.5がインストールされています&が確認済みです。 pecl list

stats拡張機能を追加する前にphpinfo()で正しいphp.iniを確認しました。

location of php.ini

php extension dir

stats.so extension in php.ini

stats.so拡張が存在確認。 stats.so extension file confirmation

私はサービスを再開しました.Vagrantボックスを再起動しました。私は統計モジュールがphpinfo()&経由で実稼働中にロードされていることを確認しました。これは、同じメソッドを使用して、devでロードされていないことを確認しています。ちょうど拡張機能がロードされているように見えることはできません。

ご協力いただきありがとうございます。

答えて

0

これは2つの問題であった。

  1. 誤ったPECL依存関係がインストールされました。 php5-devはインストールされたPkgで、PECLインストーラを使用するように指示しましたPHP API 20121212

  2. PECL configはデフォルトで標準のPHP 5のインストール、v 5.5.9を探します。それは正しい設定を反映する必要がありました。可能であればpkg-configまたはautoconfigパッケージのいずれかを使用すると、PECLをPHP検出プロセスで支援することによって、この問題を修正できます。

ソリューション

クリーンアウトPECLの統計モジュールだけでなく、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 
関連する問題