2013-03-07 18 views
6

私はMountain LionでMAMPを実行していますが、gmagickとimagecをインストールしました。どちらもrelase候補です(主にgmagickに安定版がなく、imagick 3.0.0 doesnインストールしないと、エラーになります)。モジュールはphpinfo()ではなくphpinfo()でphp -iを実行したときに表示されます。php.iniをチェックしていますので、問題はありません。ビットセットをインストールしました)、それはphpinfo()とphp -iに現れます。だから私の質問は、PHPは安定していない場合、拡張機能をロードしない設定オプションがありますか? Btw、私はiniファイルの変更後にサーバを再起動しました。PHP拡張モジュールがphpinfoにロードされていない

+1

あなたがApacheのディレクトリでPHPのINIファイルを確認しましたか? –

答えて

6

おそらく、あなたのマシンに2つのphpがインストールされているでしょう。 Mountain Lionには、プリインストールされたPHP版が同梱されています。ターミナルでlocate php.iniを試して、いくつのphp.inisがインストールされているか調べてください。

phpinfo()ページには、どのphp.iniが使用されているかが記載されています。 phpinfo()に使用されている正確なphp.iniを開き、エクステンションがロードされていることを確認することができます。 私は、この問題はあなたの拡張機能とPHPサーバーとの互換性に関連していると確信して extension=/path/to/gemagicext/gmagic.so extension=/path/to/imagick/imagick.so

+0

はい、phpinfo()を実行すると、使用しているphp.ini(正しいもの)が表示され、コンソールにphp -iを実行するとphp.iniと同じになります。問題 – Vidi

0

のような二行があるはずです。私は自分の拡張を作成したときにこのような問題に遭遇しました。あなたの拡張機能は、あなたのPHPサーバと3つの主な属性で互換性があります:

1- phpinfo()でこの番号を見つけることができるPHPサーバが設定されているZend API番号です。ビルド時に拡張ヘッダファイル。

2 PHPサーバー上のコンパイラのバージョンと拡張子が同じである必要があります。

3 PHPサーバーのスレッドセーフは重要です。スレッドセーフなサーバーを使用する場合、拡張機能はPHPスレッドセーフライブラリで構築する必要があります。スレッドセーフでないサーバーを使用する場合は、PHP-NTライブラリで拡張機能をビルドする必要があります。

4

私はphp-fpmとnginxサーバーで同様の問題に直面しました。問題は、更新されたphp設定が現在のアクティブなphp-fpmワーカープロセスに反映されていなかったためです。私は手動でのfpmプロセスをkillして、それを再起動して更新された拡張情報を持っていなければなりません。私のために働いた

ステップ:

1)主に、これは、複数のプロセス

2の一覧が表示されますアクティブのphp-FPMプロセスのために

ps ax | grep "fpm" 

を見て)

手動プロセスを殺します
kill -9 [pid_got_from_previous_command] 

3)restart php-fpm process

sudo service php5-fpm start 

注:古い子プロセスが古い設定を保持するため、動作しませんでしたsudo service php-fpm reloadsudo service php-fpm restartのような何かをしようとしています。アクティブなプロセスを終了し、phpを再起動します。何のためにphpinfoを更新しましたか?

+0

あなたは正しいです。もう1つの解決策は、サーバーを再起動することですが、ソリューションはより良い方法です。 (ダウンタイムなし) –

2

私はCentOS 6.6 x64、php 5.5と同じ問題がありました。すべての http://php.net/manual/en/imagick.installation.php

ファーストから27と私が続くの手順は、ここからインストールのImageMagickのtarイメージをダウンロードします。 sourceforge.net/projects/imagemagick/files/

、端末の問題から、それを解凍し、次のコマンド:

1. "cd ImageMagick-6.9.1-10" - go where you placed the folder 
2. ./configure 
3. make 
4. make install 
5. make check 
6. install imagick extension from pecl.php.net/package/imagick/download 3.1.2 
7. cd imagick-3.1.2 
8. phpize 
9. ./configure --with-imagick=/opt/local 
10. make 
11. make install 
12. Copy imagick.so in your PHP extensions folder and add extension=imagick.so in php.ini 

Apacheを再起動:サービスのhttpdの再起動

関連する問題