FreeBSDで、mbstringを読み込ませたい。

PHPとextension、mod_phpを、pkg installでインストールしました。

端末から
$php -m とすると、特にエラーなく、mbstringやその他のモジュールが表示されます。
ところが、ブラウザからphpinfo();でみると、それらのモジュールが表示されません。
どのような方法で、phpinfo();に、mbstring及びその他のモジュールを表示されることができるのでしょうか。
環境
FreeBSD 11.1-RELEASE
Apache 2.4
PHP 7.1.10

やったことは、質問文が長すぎるといわれたので、補足欄に記述します。よろしくお願いします。

回答の条件
  • 1人3回まで
  • 13歳以上
  • 登録:2017/10/28 11:18:58
  • 終了:2017/10/29 14:02:14
id:ymlab

質問者から

ymlab2017/10/29 07:07:33

1.portでのインストール[実は最初はportでした。同じエラーになり、reinstallした後からSegmentation fault.あきらめてpkgでインストール。]
2. そもそもmbstring.soがないのでは?と考え、探すとありました。端末からphp XXX.php で普通にmbstringを使った関数は動きます。
4.実はphp.iniを参照しているファイルが違うのではないかと考え、php.iniのLoaded Configuration Fileを確認して、適当にpost_max_filesを変更してみると正常に反映された。
5.php.iniでパスが通っていないと考え、phpinfoを見てみると、Additional ini parsedに /usr/local/etc/php/ext-20-mbstring.ini,が存在。
6.ext-20-mbstring.iniの中身は単純にextension=mbstring.soなので、php.iniの方にextenstion=mbstring.soとか、mbstring.soの場所を絶対パスで指定したら、php -mで既に組み込まれていると怒られる。

従って、ターミナル上では正常なのに、phpinfo()では見えない・・。
長文失礼しました。よろしくお願い致します。

ベストアンサー

id:a-kuma3 No.1

a-kuma3回答回数4726ベストアンサー獲得回数20252017/10/28 13:28:42

ポイント100pt

ターミナルと Apache が動いてる環境で、LD_LIBRARY_PATH が違うんじゃないでしょうか。
Apache のプロセスでは、LD_LIBRARY_PATH に mbstring.so が置いてあるディレクトリが含まれてない。

似たような人↓
https://blog.katsuma.tv/2007/05/apache_php_env.html

LD_LIBRARY_PATH には、.so が置いてあるディレクトリを記述するので、

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/foo/var/hoge.so

じゃなくて、

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/foo/var/

だと思うのですけれど。

id:ymlab

なるほど、ドンピシャな状態ですね。
一度試してみます。ありがとうございました!

2017/10/29 14:01:09

その他の回答(0件)

id:ymlab

質問者から

ymlab2017/10/28 11:19:55

質問文を編集しました。詳細はこちら

id:a-kuma3 No.1

a-kuma3回答回数4726ベストアンサー獲得回数20252017/10/28 13:28:42ここでベストアンサー

ポイント100pt

ターミナルと Apache が動いてる環境で、LD_LIBRARY_PATH が違うんじゃないでしょうか。
Apache のプロセスでは、LD_LIBRARY_PATH に mbstring.so が置いてあるディレクトリが含まれてない。

似たような人↓
https://blog.katsuma.tv/2007/05/apache_php_env.html

LD_LIBRARY_PATH には、.so が置いてあるディレクトリを記述するので、

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/foo/var/hoge.so

じゃなくて、

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/foo/var/

だと思うのですけれど。

id:ymlab

なるほど、ドンピシャな状態ですね。
一度試してみます。ありがとうございました!

2017/10/29 14:01:09

コメントはまだありません

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

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

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません