3

MacOSXのMAMP1.9でpeclを実行するのに大きな問題があり、このすべてに1日を費やした後、それを解決したので、他の人と共有したいと思いました。あなたがそれをするより良い方法を知っているなら、多分あなたは私に言うことができますか?

基本的に、問題は、MAMPシステムにいくつかのPHP拡張機能をインストールする必要があることでした。そのためには、peclまたはコンパイラーのいずれかが機能する必要がありました。しかし、どれも機能していませんでした。したがって、最初に行ったのはMAMP 2にアップグレードすることでした。その後、ターミナルに入力する./profileにMAMPのpeclへのパスを追加しました。

echo "export PATH=/Applications/MAMP/bin/php/php5.3.6/bin:$PATH" >> ~/.profile

次に、次のように入力して、peclの呼び出しが「正しい」バージョン(Mac Osxの内部バージョンではない)を参照しているかどうかを確認できます。

which pecl

ここで、peclを使用して拡張機能をビルドできるようにするには、拡張機能が正しくコンパイルされるようにビルド環境を準備する必要があります。このページに良いアドバイスがあります。つまり、MAMPのライブラリをWebサイトからダウンロードしてから、現在アクティブ化されているバージョン(私の場合はphp-5.3.6)に対応するPHPのフォルダーを選択し、/ Applications / MAMP / bin/phpにコピーする必要があります。 /php5.3.6/includeフォルダー。その後、ターミナルのそのフォルダに移動して実行する必要があります

./configure

現在、これはXCodeがインストールされている場合にのみ機能します。ただし、問題は、インストールされている場合でも、新しいバージョンのXCodeには、デフォルトでgccコンパイラ(必要な)などのコマンドラインツールが含まれていないことです。したがって、必要なのは、XCodeまたはAppleのWebサイトからダウンロードすることです。これらのコマンドラインツールをダウンロードすると、gccがインストールされ、./configureコマンドが正常に機能するはずです。

そうでない場合は、MacPortをインストールしてから、それを使用してgccとautoconf(コンパイルに必要なツール)をインストールすることもできます。

port install autoconf

XCodeのコマンドラインツールの一部としてすでに機能している可能性がありますが。

いずれにせよ、それがすべて完了すると、最終的にphpソースフォルダーで./configureを実行し、将来の作業に備えて、次のように入力して機能するかどうかを確認できます。

pecl install uploadprogress

(その拡張機能を初期化するには、おそらくextensions = uploadprogress.soをphp.iniファイルに追加する必要があります)

それだけです。正しい一連のアクションを見つけるのに何時間もかかったので、すべてをレイアウトすると思いました。他の誰かの時間を節約できることを願っています。それをより効率的に行う方法についてアイデアがあれば、私に知らせてください。

4

1 に答える 1