CMS構築を目的にPHPをベースとしたWordPress、CakePHPやPEARなどオープンソースを中心に解説しています

軽量で柔軟性に優れいていると話題のFuelPHPをWindows環境にインストールしてみます。

FuelPHP » A simple, flexible, community driven PHP5.3 framework.

今回検証した環境は以下の通りです。

  • FuelPHP 1.7.2
  • PHP 5.4.19
  • xampp 1.8.2
  • Windows 7

PHPはxamppのものを使います。
FuelPHPはPHP 5.3以上で動作するという事なので、要件は満たしています。

パッケージをダウンロード・インストール

上記の公式サイトから最新のパッケージをダウンロードします。
今回の最新版は1.7.2でした。

ダウンロードしたパッケージを展開します。

Composerでライブラリダウンロード

FuelPHPのライブラリはComposerで管理されているので、Composerを実行して必要なライブラリをダウンロードします。

コマンドプロンプトを起動して、パッケージのディレクトリに移動ます。

cd C:xxxfuelphp

Composerを実行します。
※ここで、Windowsにgitがインストール済みで、環境変数Pathでコマンドphpとgitへのパスが設定済みであることを前提とします。

php composer.phar update

すると以下のエラーが発生しました。

Warning: This development build of composer is over 30 days old. It is recommended to update it by running "composer.phar self-update" to get the latest version.

composerの設定ファイルが古いので、アップデートしてから実行してくださいという事のようです。

php composer.phar self-update
php composer.phar update

そうすると問題なく処理が完了しました。
ちなみにソースのダウンロードも含めて3分ほど要します。

Composerダウンロードエラーについて

WindowsのコマンドラインからComposerを実行する際に、さまざまなエラーが発生します。
以下、想定されるエラーと対策を書き溜めておきます。

[RuntimeException]
  The .git directory is missing from C:xxxfuelphpfuelvendorcomposerinstallers, 
  see https://getcomposer.org/commit-deps for more information

上記のフォルダに問題があるようなので、一旦フォルダ「C:xxxfuelphpfuelvendorcomposer」を削除して、もう一度「php composer.phar update」を実行します。

[RuntimeException]
  The openssl extension is required for SSL/TLS protection but is not available. If you can not enable the openssl extension, you can disable this error, at your own risk, by setting the 'disable-tls' option to true.

PHPの拡張機能「openssl」が必要だと言っているので、php.iniファイルを開き「extension=php_openssl.dll」の部分のコメントアウトを外して有効にします。

Could not fetch https://api.github.com/repos/fuelphp/upload/zipball/xxx, please create a GitHub OAuth token to go over the API rate limit
Head to https://github.com/settings/tokens/new?scopes=repo&description=Composer+on+uncover-PC+xxxx-xx-xx+0900
to retrieve a token. It will be stored in "xxx/Composer/auth.json" for future use by Composer.
Token (hidden):

匿名ユーザからのGitHubへのアクセスについては制限が設けられているようです。
そこで、GitHubのアカウントを持っている場合、GitHubのサイトにログインし「Settings」をクリック、メニュー「Personal settings」の「Personal access tokens」画面からボタン「Generate new token」を押して、tokenを取得します。
上記のメッセージが表示されたところに、取得したtokenをコピペすると「Token stored successfully.」と表示され、処理が続行されるはずです。
ちなみにGitHubのアカウントを持っていない場合の対処はいまのところ不明です。。

Your requirements could not be resolved to an installable set of packages.
  Problem 1
    - Installation request for fuelphp/upload 2.0.2 -> satisfiable by fuelphp/upload[2.0.2].
    - fuelphp/upload 2.0.2 requires ext-fileinfo * -> the requested PHP extension fileinfo is missing from your system.

PHPの拡張機能「fileinfo」が必要だと言っているので、php.iniファイルを開き「extension=php_fileinfo.dll」の部分のコメントアウトを外して有効にします。

もう少しディレクトリ構成をスッキリさせる

展開した初期のディレクトリ構成は以下のような状態です。

fuelphp/
	docs/
	fuel/
	public/
	composer.json(など各種設定ファイル)

「/fuelphp/fuel」がFulePHP本体で、「/fuelphp/public/」がドキュメントルートにあたる公開フォルダです。
セキュリティの面からfuelフォルダはドキュメントルート配下には設置しない構成になっています。

ここで、FulePHPのファイルが散らばらないように、各環境のドキュメントルートに合わせたディレクトリ構成に変更します。

例えばドキュメントルートが「/public_html/」の場合、「/fuelphp/public/」内のファイルを全て「/public_html/」にコピーします。

fuelphp/
	docs/
	fuel/
	public/
	composer.json(など各種設定ファイル)
public_html/
	assets/
	.htaccess
	favicon.ico
	index.php
	web.config

FuelPHP関連ファイルは、公開されないフォルダ「/fuelphp/」フォルダにまとめられています。

次に、index.phpをテキストエディタで開き、以下のパスをつながるように編集します。

// define('APPPATH', realpath(__DIR__.'/../fuel/app/').DIRECTORY_SEPARATOR);
define('APPPATH', realpath(__DIR__.'/../fuelphp/fuel/app/').DIRECTORY_SEPARATOR);
// define('PKGPATH', realpath(__DIR__.'/../fuel/packages/').DIRECTORY_SEPARATOR);
define('PKGPATH', realpath(__DIR__.'/../fuelphp/fuel/packages/').DIRECTORY_SEPARATOR);
// define('COREPATH', realpath(__DIR__.'/../fuel/core/').DIRECTORY_SEPARATOR);
define('COREPATH', realpath(__DIR__.'/../fuelphp/fuel/core/').DIRECTORY_SEPARATOR);

最後にpublic_htmlにブラウザからアクセスして、以下の初期画面が表示されればFuelPHPのインストールは成功です。

fuelphp

さて、ここからスタートだ!

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

Comment

Comment Form

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Monthly Archives

Search