0

Gmailアドレスを介してメールを送受信できるプログラムをphpで作成したいと考えています。私はもともと、OS X 10.4 Tiger を実行している PPC Mac で XAMPP サーバーを使用していましたが、必要な ssl サポートがありませんでした。このため、(更新された) Apache サーバーをセットアップしようとしました。私の Mac に同梱されていたサーバーは古かったからです。ソースからコンパイルすることにより、Apache サーバー (2.2)、php の imap 拡張機能、および php の openssl 拡張機能をインストールしました。(必要かどうかはわかりませんが。)

次のように構成コマンドを実行しました。

./configure --with-imap=/usr/local/imap-2007f/ --enable-sockets --with-imap-ssl=/usr/local/ssl --with-openssl=/usr/local/ssl - -with-apxs2=/usr/local/apache2/bin/apxs --with-kerberos

次に、php.3.5.12 ディレクトリの INSTALL ファイルで指示されているように、「make」コマンドを実行しました。これにより、次の結果が得られました。

collect2: ld が 1 の終了ステータスを返しました
make: * [libs/libphp5.bundle] エラー 1

私はこのエラーを調査しましたが、私のプロジェクトに関連していないように見えるさまざまなことが原因のようです。1 つは、すべて MySQl を使用しているように見える (または使用しようとしている) ことです。私の目的では、それは必要ありません。プログラムを終了できるように、プログラミングに戻る方法を探しています。

助けてくれてありがとう!

編集:ここに完全なエラーメッセージがあります:

/usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: Undefined symbols:  
_iconv  
collect2: ld returned 1 exit status  
make: *** [libs/libphp5.bundle] Error 1  
4

3 に答える 3

1

私もこの問題に遭遇し、多くの努力を払って解決しました。にインストールPHP5.5.12していましたOS X 10.9.2

デフォルトの Makefile はwith ステートメントlibiconv.2.dylibの下にあります/usr/lib/

19 MH_BUNDLE_FLAGS = -bundle -bundle_loader /usr/sbin/httpd -L/usr/lib -laprutil-1 -lldap -llber -llber -lexpat -liconv -lsqlite3 -lldap -llber -llber -L/usr/lib -lapr-1 -lpthread

しかし、PHPの下/usr/lib/に適切なアーキテクチャを備えた適切な libiconv はありません。そのフォルダーの下OS Xのデフォルトは、32ビットアーキテクチャがサポートされていると思います。libiconv.2.dylib

だから、私たちは今問題が正確に何であるかを知っています。これを解決するにはさまざまな方法があります。

  1. (非推奨)最新の libiconv ( gnu-libiconv( https://www.gnu.org/software/libiconv/#downloading ) から入手可能) を構成とともにインストールします--prefix=/usr

    しかし、この方法では、他のより難しい問題が発生する可能性があります。OS Xにはオリジナルが必要なのでlibiconv.2.dylib。変更後、QQ や TeamViewer などの x86 対応アプリケーションを含む多くのアプリケーションが開けなくなりました。彼らは即座に墜落しました。本当にこのような状況に陥った場合でも、心配しないでください。解決できる可能性があります。私の gist.github.com/Yougmark を確認できます。とにかく、phpをインストールできました。

  2. (推奨)最新の libiconv ([gnu-libiconv] から入手可能) を設定とともにインストールします--prefix=/usr/local

    $make次に、以下のステートメントの前に Makefile を変更します。

    19 MH_BUNDLE_FLAGS = -bundle -bundle_loader /usr/sbin/httpd -L/usr/local/lib -laprutil-1 -lldap -llber -llber -lexpat -liconv -lsqlite3 -lldap -llber -llber -L/usr/local/lib -lapr-1 -lpthread

    の 2 つの位置に注意して-L/usr/lib、 に変更します。-L/usr/local/lib

さあ、新しいPHPを作ってインストールして楽しんでください! :)詳細については、私の要点を参照してください。

于 2014-05-23T01:00:30.520 に答える
0

iconvライブラリがインストールされていないようです。必要でない限り、--without-iconvconfigure オプションを使用してサポートを無効にしてみてください。

それが役立つことを願っています。

于 2012-05-05T04:03:45.153 に答える