• 締切済み

OpenPNEのインストールでエラーが出る(linux)

OpenPNEのインストールでエラーが出る(linux) OpenPNE3を使用したいと思い、インストールを試みているのですが、 どうしてもうまくいかず、自力ではギブアップなので どなたか詳しい方がおられましたら、ご教授お願いします。 よろしくお願いします。 問題は、OpenPNE3のtarをダウンロードして展開してiniファイルをコピーした後、 symfonyを使って、 ./symfony openpne:install とやると (フルパス指定でも同じでした) chmod 777 /(パス)/OpenPNE3/web/cache と表示された次の行で、 Fatal error: Call to undefined function mb_internal_encoding() in /home/(ユーザー名)/OpenPNE3/lib/config/sfOpenPNEApplicationConfiguration.class.php on line 24 と表示され、終わってしまいます。 インストールを試みてるOpnePNEはOpenPNE3.0.8 とOpenPNE3.2.6 なんですが、どちらも別々にインストールを 試みたのですが、全く同じエラー(上の)が発生してダメでした。 環境は、2年前後前にインストールしたCentOS4に、Apache2.0.52 が入ってたいたところへ 今回、OpenPNE3を入れるにあたり、MySQLもPHPもどちらもバージョンが低過ぎたので、 MySQL5.0.91とPHP5.2.13を入れ、phpMyAdminを入れ とここまではなんとか、ネットを検索した情報だけでなんとかなったのですが、(かなり苦労しましたが) 肝心のOpenPNE3はかなり長い時間(期間)ネットの検索を使って試行錯誤したのですが、行き詰まってしまいました。 かなりいろいろ試行錯誤したので、記憶が無くなってる部分もありますが、 以下、関係がありそうな行動と結果を記憶の限り書きます。 /sfOpenPNEApplicationConfiguration.class.phpの24行には 「mb_internal_encoding('UTF-8);」 という記述があるのですが、test.phpに <?php echo mb_internal_encoding();?> というのを書き、ブラウザからアクセスしたところ エラーは出ず、「EUC-JP」と表示されました。 phpinfo();の表示内容の中のmbstring関係は あまり意味は分からないのですが、多少php.iniの[mbstring]の部分を いじくったりしてみたのですが、エラーには全く影響しなかったので、 たぶん問題無いのではないと思うのですが…分かりません。 mbstring.http_output はUTF-8 に Multibyte string engine はlibmbfl に なっています。 ちなみに、mbstringはphpizeで後から追加してます。 そのため、php.iniでのモジュールの指定がいい加減になっていて どのファイルを指定すればいいのか正しいのか自信がありません。 また、このエラーが出る前、(古いバージョンでインストールを試みた時のが 残っているのですが)そのディレクトリにアクセスした時のApacheのerror_logの内容は PHP Fatal error: Class 'BaseMember' not found in /home/(パス)/OpenPNE3/lib/model/Member.php on line 18 となっています。 Apache起動時のerror_logには PHP Warning: Module 'mbstring' already loaded in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library というものが記録されています。 他にもネットでPHPとmbstring関係のエラーに関するところをいろいろ見て かなりいろいろ試してみたのですが、全く症状(エラー)に変化が見られなかったもので、 どんな事をやったのかほとんど忘れてしまいました。。 これ以上長くなると、読んでいただける方が減ってしまうと思いますので、 その意味でも省略させてください。 ただ、./symfony openpne:install 数十回は試したと思います。 長くなりまして申し訳ありません。読んでいただきありがとうございます。 何かアドバイスありましたらよろしくお願い致しますm(__)

  • PHP
  • 回答数2
  • ありがとう数5

みんなの回答

  • memphis
  • ベストアンサー率40% (975/2395)
回答No.2

>mbstringはphpizeで後から追加してます。 上の作業が原因では? php.iniと環境変数をよく確認して適切に設定すれば解決すると思います。 私なら、apache,php,mysqlを全て最初の状態に戻してから作業をやり直します。

hermit_takuya
質問者

お礼

回答ありがとうございます!! たしかに、それが原因の可能性も高いと思い、 phpをconfigureオプションを徹底的に吟味して、慎重に再インストールしてみました。 その結果、OpenPNE3インストーラの挙動には変化は見られなかったのですが phpMyAdminの方で出ていた警告(という不具合)が一気に全部解消され 再インストールした甲斐はあったかな、と思いました。 mysqlも再インストールした方がいいのかな、とも思うのですが、 多少既に(OpenPNE2の)データベースとして使っているので、 どうすればデータを消さずに再インストール出来るか、というのが 自分の力ではなかなか難しそうなので、 とりあえずはmy.cnfの設定でなんとか乗り切れないかなと思っています。 あと、関係無い話ですが、OpenPNE2の方で出ていた不具合は Apacheのhttpd.confのユーザーディレクトリのディレクティブでの AllowOverride がごちゃごちゃしてたのが問題だったみたいで 「AllowOverride All」と指定してやったところOpenPNE2の不具合は消え 完動するようになりました。 回答ありがとうございました

noname#243182
noname#243182
回答No.1

symfony が見ている PHP と、Web サーバに組み込まれた PHP モジュールは別のものではないですか。 Web サーバを介して得られる情報と、CLI で "php -i" と入力して得られる情報を比較してください。 おそらく CLI での結果には「mbstring」項目が存在しないのではないでしょうか。

参考URL:
http://www.php.net/manual/ja/intro-whatcando.php
hermit_takuya
質問者

補足

回答ありがとうございます!! "php -i"で確認してみたところ、確かにおっしゃる通り、 その中に「mbstring」の項目がありませんでした!! つまり、symfonyを使う時には、mbstringが無効になっていたということでしょうか。 どうすれば、symfonyを使う時に、mbstringを有効にさせればいいのでしょうか。 調べるためのヒントやポインタだけでも結構ですので、教えていただければ幸いです。 php.iniファイル自体はシステムの中に一つしか存在していないようでしたので、 試しに php -c /etc/php.ini symfony openpne:install とやって実行してみたところ、 今までさんざん出ていた場所でのmb_string_encoding()のエラーが出なくなりました!!! しかし、他のエラーが出てしまって( 2002エラーで、MySQLサーバーに指定のソケットで 接続出来ないという)、インストール完了というワケにはいきませんでした。 おそらく、2002エラーのソケットの指定と、今回のphp自体の設定の問題は別問題なのだろうとは 思うのですが、これだけエラーが頻出すると、 おそらく根本的に何かが間違ってる(OS回りの環境が古すぎる?)と思ってしまうので、 簡単にはインストール出来ないことは覚悟しないといけない事が分かってきました。 回答ありがとうございました!! 確実に1歩前進することが出来まして、行き詰まってたところに一つの確実な穴が空いた気がします PS 参考URLは一応、全体的に読んでみたのですが、今回の問題の直接の答えになるような場所が 見つけられませんでした。 正直言って、php自体に関しては知識がほとんど無い(実戦0)ので、一番根本的な問題は、phpに対する 無知のような気がして反省しています。

関連するQ&A

  • Fatal error: マルチバイト文字列関数

    Fatal error: Call to undefined function mb_convert_encoding() 上記のようなエラーが出てしまい、困っています。 現状、phpinfo()で調べてみると 出現するはずのmbstringという項目がありません。 php.iniの状態が悪いのかと調べてみると extension=php_mbstring.dll の前には、;が無い状態です。 他の設定はこのようになっています。 mbstring.language = Japanese; mbstring.internal_encoding = UTF-8 ; mbstring.encoding_translation = On mbstring.http_input = auto ; mbstring.http_output = UTF-8 ; mbstring.detect_order = auto ; mbstring.substitute_character = none ; php.iniというファイル自体が2つあるとこのようなエラーがでるという 事例もあったので、検索をかけてみましたが php.iniというファイルは一つしか見つかりませんでした。 また、PHP自体、mb_の付く関数をはずすと、文字化けはしますが きちんと動いてくれました。 動作環境は win PHP5 Apache です。 どこを改善すれば、直ってくれるでしょうか? 教えて頂けると嬉しいです。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • mb_convert_encoding() エラー

    http://www18.tok2.com/home/koumori27/xml/pxml/pxml2.htmlのxmlpaser_sample1.php3を自分のパソコンで試したら、Fatal error: Call to undefined function: mb_convert_encoding() in c:\php\xmlpaser_sample1.php on line 99と出ました。 http://www.php.net/manual/ja/ref.mbstring.php#ini.mbstring.languageに書いてある 例 1. php.ini 設定の例 mbstring.language = Japanese; mbstring.internal_encoding = UTF-8 ; mbstring.encoding_translation = On mbstring.http_input = auto ; mbstring.http_output = UTF-8 ; mbstring.detect_order = auto ; mbstring.substitute_character = none ; と http://oshiete1.goo.ne.jp/kotaeru.php3?q=293266 に書いてある方法を試しましたが Fatal error: Call to undefined function: mb_convert_encoding() in c:\php\xmlpaser_sample1.php on line 99 が直りません。 どうすれば直るのでしょうか?

    • ベストアンサー
    • PHP
  • openpneインストールのエラー表示について

    現在自分のドメインにhttp://○○○-sns.net/にアクセスをすると下記のようなエラーが出ています。 Fatal error: Smarty error: [plugin] could not load plugin file 'prefilter.pne_nodefaults.php' (core.load_plugins.php, line 118) in /home/inlni12b/public_html/lovepara-sns.net/lib/include/Smarty/Smarty.class.php on line 1095 OpenPNEのバージョンはOpenPNE-2.14.9で下記のサイトを見て設定していますが何故かうまくいきません。 http://blog.d-fantasista.net/pne/install/openpne.html どこが悪いのか分かる方お教えください。

    • 締切済み
    • PHP
  • Call to undefined function mb_strlen()

    Windows XP SP3 Apache2.2.8 PHP5.2.6 --- mb_strlen()関数が使えません。 「Call to undefined function mb_strlen()」 というエラーが表示されます。 php.iniの設定の問題なのでしょうか? [mbstring]の部分だけ貼り付けておきます。 [mbstring] mbstring.language = Japanese mbstring.internal_encoding = UTF-8 mbstring.http_output = UTF-8 mbstring.encoding_translation = On mbstring.detect_order = auto mbstring.substitute_character = none; mbstring.func_overload = 7

    • ベストアンサー
    • PHP
  • OpenPNE3 ログイン画面がエラー

    OpenPNE3を実験的に導入しようとXAMPP上でインストールしてみましたが、インストールcmpleted!後、管理画面は正常なのですが、公開画面がhttp500の内部サーバエラーになりPHPログを見て、エラーになっているsfOpenPNESecurityUser.class.phpの中身見てもよくわかりません。対処法をおしえてください。 ・設定環境 Windows Server 2003 R2 OpenPNE-3.4.10 xampp 1.7.3 php 5.3.1 ・このサイトを見てインストール http://technology.rey-net.com/?eid=1155855 ・phpエラーログ [26-Apr-2011 15:06:01] PHP Fatal error: Cannot instantiate abstract class opAuthAdapter in C:\xampp\htdocs\OpenPNE3\lib\user\sfOpenPNESecurityUser.class.php on line 101

  • PHPのインストールについて

    php-5.1.2-Win32 Apache_2.0.55-win32-x86-no_ssl windows XP 秀丸エディタ 色々なサイトを見てPHPやapacheのインストールをするのですが ブラウザで"<? phpinfo(); ?>"というスクリプトを実行しても アドレス(http://localhost/phpinfo.php) ファイルの保存になってしまいます:(ダウンロード用のダイアログ起動する) httpd.conf 又は php.ini の修正もしているんですが php5ts.dllをコピー →(c:¥windows¥system32) php.ini.distをphp.iniにリネームしコピー →(c:¥windows) ファイル修正後、Apache を再起動もしています。 Apacheでは、テスト画面は成功しています PHPとApacheの連携がわるいのか、他に原因があるのかわかりません 初心者です。どうぞ宜しくお願いします。 ※ httpd.conf の修正 LoadModule php5_module c:/php/php5apache2.dll AddDefaultCharset none AddType application/x-httpt-php .php AddType application/x-httpd-php-source .phps ※ php.ini の修正 output_buffering = On output_handler = handler=mb_output_handler default_charset = Shift_JIS doc_root ="C:/Program Files/Apache Group/Apache2/htdocs" extension_dir = "c:/php/ext" extension=php_mbstring.dll mbstring.language = Japanese mbstring.internal_encoding = EUC-JP mbstring.http_input = auto mbstring.http_output = SJIS mbstring.encoding_translation = On mbstring.detect_order = auto mbstring.substitute_character = auto mbstring.script_encoding = EUC-JP

    • ベストアンサー
    • PHP
  • OpenPNEでエラー

    レンタルサーバーでOpenPNEをインストールしようとしています。 MySQLの設定やphpMyAdminでファイルのインポートもして、 全てのphpファイルをサーバー指定のパーミッションに設定したのですが、 http://アドレス/?m=setup にアクセスしても Fatal error: Call to a member function on a non-object in /home/(サイトのパス)/openpne/webapp/lib/db/common.php on line 135 というエラーが出ます。 config.phpとconfig.inc.php以外のファイルは触っていません。 これがどういう意味なのか、どこを修正すれば直るのか、どなたか教えて下さい。

    • ベストアンサー
    • PHP
  • mb_convert_kanaを使うと出るエラー

    環境:Win32/Apache2.4.0/5.3.9RC3(C:\apache\php) mb_convert_kanaを使おうとするとエラーが出てしまいます。 Fatal error: Call to undefined function mb_convert_kana() in C:\apache\htdocs\test1.php on line 9 ネットで調べてみるとphpの再インストールが必要で bin/mkphp.shに下記インストール用スクリプトを書いて make cleanをすると良いとのことですが、mkphp.shがありません。 ------------------------------------------------------ make clean ./configure --with-apxs2=/usr/local/apache/bin/apxs \ --with-pgsql=/usr/local/pgsql \ --enable-mbstring \ --enable-mbregex \ --enable-gd-native-ttf \ --enable-memory-limit \ --enable-zend-multibyte \ --with-openssl \ --with-gd \ --with-ttf \ --with-freetype-dir \ --with-jpeg-dir \ --with-xpm-dir \ --with-zlib-dir \ --with-java \ && make && make install ------------------------------------------------------ また、参考になるか分かりませんが、 php.infoをブラウザで見たときに Configuration File (php.ini) Path には、C:\Windowsと表示されています。 <?php echo mb_internal_encoding(); phpinfo(); ?> とecho mb_internal_encoding();を追加してブラウザでみるとエラーが出てしまいます。 ヒントだけでも教えて下さい。

    • ベストアンサー
    • PHP
  • Fatal error: Call to undefined function mb_internal_encoding()

    CAPTCHAのサンプルプログラムを動かそうと思ったのですが Fatal error: Call to undefined function mb_internal_encoding() in ”プログラムのパス” のようなエラーがでて実行することができません。 そこで、このエラー文で検索したところphpの日本語利用の環境ができていないのでは? との回答を見つけたので、参考ページを見て設定を行ったのですが、いまだにエラーが出て実行することができません。 ちなみにこのようなmb_internal_encodingのサンプルを動かすと <?php /* 内部文字エンコーディングをUTF-8に設定 */ mb_internal_encoding("UTF-8"); /* カレントの内部文字エンコーディングを表示 */ echo mb_internal_encoding(); ?> Fatal error: Call to undefined function mb_internal_encoding() in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\mbtest.php on line 2 この様なエラーが出ます。 日本語利用の為の設定で参考にしたサイトは http://www.phpbook.jp/install/phpini/index3.html こちらです。 phpのバージョンは5.2.6でOSはXPSP2です

    • ベストアンサー
    • PHP
  • OpenPNE設置時のエラー

    こんにちは。 自社サーバにSNSのOpenPNEを設置しようとしています。 手順書通りにインストールした後、セットアップ画面にアクセスしようとすると、真っ白な画面になってしまいます。 エラーログを見ると、 PHP Warning: main(/usr/local/OpenPNE/config.php): failed to open stream: Permission denied in /var/www/pne/OpenPNE/public_html/config.inc.php on line 21 PHP Fatal error: main(): Failed opening required '/usr/local/OpenPNE/config.php' (include_path='.:/usr/share/pear') in /var/www/pne/OpenPNE/public_html/config.inc.php on line 21 と書いてありました。 これはPHPのエラーでしょうか。 config.phpファイルの中身が悪いのでしょうか・・・。 PHP及び、サーバ・データベースなどについて、ほとんど初心者です・・・。 (そして英語もよくわかってない・・・) ひょっとしたら、すっごく単純な間違いかもしれませんが、 ご指南の程、よろしくお願いいたします。

    • ベストアンサー
    • PHP

専門家に質問してみよう