OpenPNE, Technology

OpenPNE3.1 インストール

このエントリーをはてなブックマークに追加

ちょっとやりたいことがありSNSエンジンの「OpenPNE」をインストールしました。
以下、環境設定とインストール、ハマッたエラーについて記します。ちなみに、OSはWindowsXPです。

【環境設定】

1.すでにインストール済みのモノ

以前に中途半端にCakePHPをいじったことがあり、すでにPHP5とApache、MySQLはインストール済みであったりしました。

  • PHP: 5.2.5
  • Apache: 2.2.8
  • MySQL: 5.0.45
もし横着しないのであれば、まっさらな環境からインストールし直すのが結果的に早いかもしれません。XAMPPを使えば必要な環境がサクッと揃っちゃいますので。これから始まるエラーの気苦労から逃れられるでしょう・・・。

XAMPP for Windows – Apache friends

2.PEARインストール

次にPEARをインストール。これは下のサイトを参照すればすごく簡単です。コマンドプロンプトを開き「go-pear.bat」を実行して指示に従うだけ。同様に、その後もコマンド画面で、
  • pear list: インストールされたPEARのバージョン確認
  • pear list-upgrades: Web上にある最新版のバージョンを確認
  • pear upgrade PEAR: PEARを最新版にアップグレード
  • pear list: もう一度PEARのバージョン確認
と、PEARを最新版にアップデートしました。

PHPスクリプト講座:PEARのインストール – そふぃのphp入門

3.Symfonyインストール

PHPのフレームワーク「Symfony」。これもPEARがインストール出来ていれば簡単です。コマンドプロンプトに戻りコマンド入力します。
  • pear channel-discover pear.symfony-project.com: チャネル?の登録
  • pear install symfony/symfony: Symfonyのインストール
  • pear -v: Symfonyのバージョン確認
で、インストール完了です。


【インストール】

1.MySQLにスキーマ作成

普段「MySQL Administrator」を使用しているので、スキーマを新規作成して終わりです。簡単。

2.OpenPNEインストール

ここからが困難の始まり。例によってコマンドプロンプトで、まずは1回目のインストールコマンド発令、
  • symfony openpne:install
出ました、エラー!

Warning:
sfSimpleAutoload::require(/tmp/OpenPNE-3.1.0/lib/vendor/doctrine/Doctrine/Manager.php):
failed to open stream: No such file or directory in
/virtual/redcomets/OpenPNE-3.1.0/lib/symfony/autoload/sfSimpleAutoload.class.php on line 118

エラーメッセージ:
Fatal error: sfSimpleAutoload::require(): Failed opening required
‘/tmp/OpenPNE-3.1.0/lib/vendor/doctrine/Doctrine/Manager.php’
(include_path=’/virtual/redcomets/OpenPNE-3.1.0/config/../lib/vendor/PEAR/:.:/usr/local/lib/php’)
in /virtual/redcomets/OpenPNE-3.1.0/lib/symfony/autoload/sfSimpleAutoload.class.php on line 118

<解決方法>
C:\・・・\openpne\cache にある「project_autoload.cahe」を削除。

気を取り直して2回目のインストールコマンド発令、そしてエラー!

The execution of task “doctrine:build-all-reload” failed.
– Too many arguments (“Files\・・・\openpne\data/fixtures_tmp” given).

どうやら、3.1からORMとして採用された「Doctrine」が全体的にうまくいっていない気がします。。。
DBを見てもテーブルが作成されていない。このタスクが実行されればインストール完了しそうなのですが・・・。

全く解決方法が見つからないので、テーブル削除・作成するDoctrineのコマンドを探して実行してみました。

  • symfony doctrine-build-all-reload
エラーメッセージが変わった!

Fatal error: Class ‘PDO’ not found in C:\・・・\openpne\lib\vendor\doctrine\Doctrine\Connection.php on line 1530

そこで、Connection.php の1530行目を確認。

return $this->getManager()->openConnection(new PDO($pdoDsn, $username, $password), ‘doctrine_tmp_connection’, false);

<解決方法>
「PDO」って何・・・?とWebで検索すること数十分。php.iniファイルを開き、

  • extension=php_pdo.dll
  • extension=php_pdo_mysql.dll
のコメントアウトを外し、再度Doctrineのコマンド実行・・・・・・おー!!DBのDROP&CREATEに成功!!

恐る恐る、http://localhost/ にアクセスすると・・・
OpenPNEインストール完了!
来ました、ログイン画面!インストール完了です!
(しかし、未だに「symfony openpne:install」のコマンドではエラーが出ることは秘密です・・・)


speak up

Add your comment below, or trackback from your own site.

Subscribe to these comments.

Be nice. Keep it clean. Stay on topic. No spam.

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt="">

*Required Fields