アプリ版:「スタンプのみでお礼する」機能のリリースについて

OpenPNE のインストールを試みています。

下記のサイトより
http://docs.openpne.jp/?%A5%C0%A5%A6%A5%F3%A5%ED …
旧安定版 2.2.10 (zip) をダウンロードさせて頂き、OpenPNE セットアップガイドに従い設定しています。

http://tejimaya.org/openpne/docs/2_2/OpenPNE_Set …

上記、OpenPNE セットアップガイドに従い設定を行い、

5. セットアップモジュールの実行

にて、

http://www.ほげ.jp/?m=setup
を開こうとすると、下記のエラーメッセージが表示されます。

Fatal error: Call to undefined function preg_match() in /home/ほげほげ/public_html/OPENPNE/lib/smarty/Smarty.class.php on line 1639


環境
さくらインターネットにて、独自ドメインを取得しています。
apache のドキュメントルートを、/ほげほげ/public_html に変更しています。
セットアップガイドと違うことは。

ほげほげ と言うユーザを作成し、public_html を作成し、public_html 内に、配布時の OpenPNE ファイル1式をアップロードしています。
ですので、

/pblic_html/config.inc.php

は、
define('OPENPNE_DIR', realpath('./OPENPNE'));
と修正しいます。

エラーの出ている、
/home/ほげほげ/public_html/OPENPNE/lib/smarty/Smarty.class.php
のファイルは、何も編集していません。

流れて的には、/public_html/index.php を参照し、/public_html/config.inc.php
を参照し、./OPENPNE ディレクトリを参照しに行って、PHP のエラーが出ていると理解しました。

何が原因でこのようなエラーが出ているのでしょうか。
アドバイスを頂ければと思います。

A 回答 (3件)

もうひとつの質問の方でも補足された内容で回答させていただきましたので、


経緯はわかりますが、短縮形の許可で影響があったんでしょうかね?
どのように影響していたのか、中身を見てみないとわかりません。

とりあえず、phpでMySQLを使用するためには、php-mysqlがインストールされている
必要がありますが、その点は大丈夫でしょうか?

phpinfoにもMySQLの項目は表示されますが、そのあたりはどうなっているでしょうか?

この回答への補足

ご返事が遅くなり申し訳ありませんでした。

>経緯はわかりますが、短縮形の許可で影響があったんでしょうかね?
この関しては、影響はなかったと思います。いろいろとアドバイスをありがとうございました。

>phpinfoにもMySQLの項目は表示されますが
を確認してみました。確認した所、phpinfoにもMySQL の項目がありませんでした。

実は現状が少し変わっています。
-- ここから --
エラーが発生しました。

DB Error: extension not found
?http://www.??ほげ.jp/
-- ここまで --

のエラーが出たことで、色々調べ php.ini の項目で、

; Directory in which the loadable extensions (modules) reside.
; extension_dir = "./"

にて
extension_dir = "./"
とコメントアウトを外して、apache を再起動させることで、
DB Error: extension not found
のエラーは出なくなりました。

ただ、新たに
Fatal error: Call to undefined function mb_language() in /home/ほげほげ/public_html/OPENPNE/config.php on line 304

のエラーが出ています。
ちなみに、config.php on line 304 は

mb_language('Japanese');

です。

詳細は
///
// mbstring設定
///

mb_language('Japanese');
ini_set('mbstring.detect_order', 'auto');
ini_set('mbstring.http_input' , 'auto');
ini_set('mbstring.http_output' , 'pass');
ini_set('mbstring.internal_encoding', 'UTF-8');
ini_set('mbstring.script_encoding' , 'UTF-8');
ini_set('mbstring.substitute_character', 'none');
mb_regex_encoding('UTF-8');

の部分です。
この状態で、phpinfo を確認すると、
mbstring の項目が出来てきません。

確認のため再度、php.ini にて
extension_dir = "./"
の項目をコメントアウトし、apache を再起動させた場合、
DB Error: extension not found
のエラーが出ますが、phpinfo に mbstring の項目が表示されます。
今は、extension_dir = "./" の行をコメントアウトしままです。

ちなみに、phpinfo に mbstring の項目は以下の通りです。
Multibyte Supportenabled
Multibyte string enginelibmbfl
HTTP input encoding translationenabled
Multibyte (japanese) regex supportenabled
Multibyte regex (oniguruma) version3.7.1

php.ini の Configuration 項目を記載しておきます。
PHP Core
apache2handler
Apache Environment
HTTP Headers Information
ctype
date
dom
iconv
libxml
mbstring
pcre
PDO
posix
Reflection
session
SimpleXML
SPL
SQLite
standard
tokenizer
xml
xmlreader
xmlwriter
zlib
Additional Modules
Environment
PHP Variables

となっています。
php-mysql はインストールされていないと思います。まずは、php-mysql をインストールしてみたいと思います。

他に何か気になる点が有れば、アドバイスを頂けると幸いです。

補足日時:2006/11/08 14:45
    • good
    • 0

それは、恐らく後退していると思います。


DBの接続以前のエラーです。
extension_dir = "./をコメントアウトしてmbstringが機能するなら、
コメントアウトが正解でよいと思います。
指定するなら、実際に正しいディレクトリを指定する必要があると思います。

ちなみに、私が運用している環境では、以下のようになっています。
extension_dir = /usr/lib/php5

少なくとも、MySQLをphpから使用するのであればphp-mysql(或いはphp5-mysql)が
必要ですので、インストールしてからの話ですね。

この回答への補足

アドバイスありがとうございます。
まずは、ご指摘通り、php-mysql をインストールしてみたいと思います。
インストールしてまた、ご報告させて頂きます。

補足日時:2006/11/08 17:07
    • good
    • 0
この回答へのお礼

ご返答が遅くなり失礼いたしました。

FreeBSD の環境でしたので。
pkg_info でパッケージ情報を取得した所、php-mysql はインストールされていませんでした。

確認した所、/usr/ports/databases/php5-mysql
に、Makefile が有りましたので、make,make install を実行しました。実行後、
pkg_info で確認した所、php5-mysql-5.1.6_1 がインストールされたことが確認できました。
phpinfo を確認した所、mysql の項目は確認出来なかったのですが。

?http://www.?ほげ.jp/?m=setup

を実行したことで、無事に OpenPNE の設定画面を表示させることが出来ました。

これで、OpenPNE の利用環境まで何とか辿り着きました。
アドバイスをして頂きありがとうございました。

お礼日時:2006/11/13 15:45

「preg_match」を認識していないようですね。


phpinfoでpcre supportがenabledになっているか確認してみてください。
enabledになっていないと使えないはずです。

この回答への補足

こんにちは。

アドバイスをありがとうございます。

phpinfo を確認してみました。

pcre の項目は
PCRE (Perl Compatible Regular Expressions) Support  enabled
PCRE Library Version 6.6 06-Feb-2006

となっています。

実は、本日確認した所エラーの内容が変わってします。

?http://www.?ほげ.jp/?m=setup
を開こうとすると、下記のエラーメッセージが表示されます。

-- ここから --
エラーが発生しました。

DB Error: extension not found
http://www.?ほげ.jp/
-- ここまで --

質問した時と、現在の違いは
<?php phpinfo(); ?>と<? phpinfo(); ?>の違い。
http://oshiete1.goo.ne.jp/qa2515247.html
にて質問させて頂き、php.ini で

short_open_tag = Off

short_open_tag = On

と修正した。

あとは apache の設定で、「DocumentRoot」を変更したので、apache を一度再起動した。

思うに apache を再起動したことで、エラーが変わったのかも知れません。

もしかすると、php の問題でなくデータベース Mysql との連携の問題かもしれません。カテゴリが違ってきているので有れば、いったん終了させて改めて該当カテゴリで質問させて頂きたいと思います。

再度のアドバイスを頂ければ幸いです。

補足日時:2006/11/04 12:21
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!