mingに関して再び質問です・・・

前回アドバイスいただいた内容で無事インストールに成功いたしました。ご回答いただいた方ありがとうございました。

mingをportsでmake installに成功したので、php.iniにextension=php_ming.soを書き込み、再起動してみたところ、php -vをした時に下記エラーが発生します。

PHP Warning: Unknown(): Unable to load dynamic library '/usr/local/lib/php/extensions/current/php_ming.so' - Shared object "libz.so.1" not found in Unknown on line 0

そのため、よくわからないなりに調べて、portsでphp4-zlibをインストールしてみるとまた違うエラーが発生します。

mingがインストール完了した際、php_ming.soが結局どこにもなかったもので、適当に落ちてたものを拾ってextensionsフォルダに入れてしまったのがいけなかったのでしょうか。本来はどうやって取得するべきだったのでしょうか。

色々ためしすぎてわけがわからない状態になってしまいました・・・すみませんがご助力いただけると助かります・・・(涙

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2007/02/16 00:10:04
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:kaijikaiji No.1

回答回数40ベストアンサー獲得回数0

ポイント27pt

とりあえず php_ming.so が参照できていないので、php.iniに、

extension_dir = "/usr/local/lib/php/extensions"

を設定してはどうでしょうか。

id:n_maco2

試してみましたが症状に変化はありませんでした・・・

2007/02/09 21:15:28
id:b-wind No.2

回答回数3344ベストアンサー獲得回数440

ポイント27pt

適当に落ちていたものじゃダメでしょ。

php4 なら、graphics/php4-ming

php5 なら、graphics/php5-ming

を ports で入れてみればいいかと。

id:n_maco2

portsで入れてみたんですが、php_ming.soが見当たらなかったんです。

普通はどこに生成されるものなんでしょうか・・・

2007/02/09 21:05:37
id:tobeoscontinue No.3

回答回数220ベストアンサー獲得回数59

ポイント26pt

>PHP Warning: Unknown(): Unable to load dynamic library '/usr/local/lib/php/extensions/current/php_ming.so' - Shared object "libz.so.1" not found in Unknown on line 0

意味としてはphp_ming.soをローディングしようとしたがlibz.so.1が見つからないのでロード出来ない(しない)という意味だと思います。

ですからphp_ming.soは存在します。

libz.so.1は通常、libz.soへのリンクです。libzが無いということはまず無いと思うのですがportsを探してみましたが見つかりませんでしたorz。


>portsで入れてみたんですが、php_ming.soが見当たらなかったんです。

/usr/local/lib/php/extensions/current/にあるはずです。



>本来はどうやって取得するべきだったのでしょうか。

portsでもよいのですが、簡単に入れるならバイナリーのパッケージ(pkg_add)を使う方がいいでしょう。(FreeBSDのバージョンに依存)

ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6-stable/...(FreeBSD-6用)

portsはコンパイルオプションを指定したい場合や、パッケージが無い場合とかに使用するものではないでしょうか。

一連のトラブルは依存関係にあるように見えます。

portsを使ってもmake dependsとすれば依存関係にあるものも拾ってくるようです。

http://iris.homeunix.net/yayoi/freebsd/basic/ports.asp

エラーが出たらそれを入れていくと解決できるとは思うのですが、

FreBSDは入れてないので多少食い違う部分があるかもしれません。

id:n_maco2

返答遅れてしまって申し訳ありませんでした。

> libz.so.1は通常、libz.soへのリンクです。libzが無いということはまず無いと思うのですがportsを探してみましたが見つかりませんでしたorz。

私もその名前を探してみたところ見当たらなかったので、代わりにphp4-zlibをインストールしてみたところ目的のlibz.soが出てきました。が、php.iniでextension=zlib.soを書くとやはりエラー・・・


PHP Warning: Function registration failed - duplicate name - readgzfile in Unknown on line 0

PHP Warning: Function registration failed - duplicate name - gzrewind in Unknown on line 0

PHP Warning: Function registration failed - duplicate name - gzclose in Unknown on line 0

PHP Warning: Function registration failed - duplicate name - gzeof in Unknown on line 0

PHP Warning: Function registration failed - duplicate name - gzgetc in Unknown on line 0

こんな感じで延々続きます・・・

gzipもportsで入れてみたのですが、変化ナシでした・・・

> /usr/local/lib/php/extensions/current/にあるはずです。

portsでインストールした後でも上記場所に出てきてくれなかったもので、適当なやつをもってきてしまったんですよ・・・

> portsでもよいのですが、簡単に入れるならバイナリーのパッケージ(pkg_add)を使う方がいいでしょう。(FreeBSDのバージョンに依存)

上記ですがFreeBSDのバージョンは4.7でした。この場合は使えるんでしょうか。

なにからなにまで聞いてしまって申し訳ありません。お手数ですがご回答お待ちしておりますので、アドバイスを是非お願いいたします・・・

2007/02/14 00:00:40
  • id:tobeoscontinue
    すいません。チェックを怠っていました。
    >PHP Warning: Function registration failed - duplicate name - readgzfile in Unknown on line 0
    二重定義ということですからextension=zlib.soは余計ですねぇ。
    これをしないと
    >PHP Warning: Unknown(): Unable to load dynamic library '/usr/local/lib/php/extensions/current/php_ming.so' - Shared object "libz.so.1" not found in Unknown on line 0
    が出るということなのでしょうか。
    そうならlib.zoのあるディレクトリーで
    ln -s libz.so libz.so.1
    とリンクを作ってみて下さい。うまくパスできるかも(^^)
    ただlibz.so.1を要求することからphp_ming.soのバージョンが合っていないのかもしれません。


    FreeBSD-4.7ということで
    ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-stable/graphics/ming-0.3.0.tbz
    が該当するパッケージだと思います。これでlibming.soは入るでしょう。


    後はphp_ming.soなのですが何処にあるのか解りませんでした。
    現在、入っているもので動くかもしれませんが、そうでないならphpのマニュアルにあるようにしてmakeする必要があるのかもしれません。
    http://jp.php.net/manual/ja/ref.ming.php
    ちょっとphpをソースからコンパイルするというのは腰が退けてしまいますが。


    php5ならftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-stable/graphics/php5-ming-5.2.0.tbz
    というのがあるので使えると思います。php5にするというのも検討してみてはどうでしょうか。


この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません