1001001

73。CTFのWrite-upや技術的な備忘録を書きとめたいです。

Windowsで軽量PHPフレームワークPhalconの環境構築(インストール,デベロッパーツール)

Phalconと呼ばれるPHPの軽量フレームワークを使う機会があったのでそのセットアップについてメモ.

以下で説明する手順は,基本的にはドキュメントのXAMPPへのインストールを参考にすれば良いみたいです.

(日本語のドキュメントがあることに気づかず英語のページ見てやってたからメモ書いたのだけれど...)

Phalconのインストール,デベロッパーツールのインストール,動作確認までしてみたいと思います.

Phalconとは

Phalconのドキュメントの冒頭です.

Phalconは、C拡張として実装され、ハイパフォーマンスに最適化された、オープンソースのPHP5向けのフルスタックフレームワークです。 機能は、使いやすいようにPHPクラスとして実装されているため、C言語を覚えたり使用する必要はありません。 さらに、Phalconは疎結合になっているため、オブジェクトをあなたのアプリケーションの必要に応じて、コンポーネントとして利用することができます。

要は,Phalconは高速に動作することが売りのPHP軽量フレームワークです.

環境

ローカル環境(XAMPP)に構築します.

(ホストが64bitだったので64bitでやろうとして詰まったりもした.)

1.インストール

環境確認

環境のプロセッサのアーキテクチャ(bit数)とPHPのバージョンを確認しておきます.XAMPPの場合,XAMPPのコントロールパネルからShellを起動して,そのShellで以下のコマンドを打ちます.

# echo %PROCESSOR_ARCHITECTURE%
# php -v

一つ目のコマンドを実行した時,32bitならx86,64bitならAMD64と表示されます.

二つ目のコマンドを実行するとPHPのバージョンを確認することができます.ここで確認したPHPのバージョンに応じて適切なdllをダウンロードします.

Windows DLL のダウンロード

適切なWindows用のdllファイルをダウンロードします.私の環境は,32bitアーキテクチャPHPバージョン5.6でした.ApachePHPも32bit用のものが動いていますので,ダウンロードページからPhalcon 3.0.1 - Windows x86 for PHP 5.6.0 (vc11)をダウンロードします.

この時点ではzipファイルでダウンロードされるので,適当なディレクトリに保存します.

dllファイルの配置とphp.iniの編集

dllファイルをxampp内のphpのdllがまとまっているディレクトリに移します(/xampp/php/ext辺り).

その後,一つ上の階層(/xampp/php)のディレクトリにあるphp.iniの最後に,extention=php_phalcom.dllを追記します.

phalconがロードされていることを確認

XAMPPのapacheを稼働させた状態で,http://localhostを開いて表示されるウェルカムページを開きphp_info()のリンクをクリックするか,コントロールパネルのAdminをクリックするかしてphp_info()のページを開きます.

ここにPhalconの情報が現れていれば良いので,ctrl+Fでphalconを検索します.出てきていれば成功です.

動作確認をする前に,便利なのでデベロッパーツールも入れておくと良いと思います.

2.デベロッパーツール

デベロッパーツールは,Phalconを使って開発を補助してくれる便利なツールです.Phalconで開発する際のプロジェクトスケルト(要はワークスペースディレクトリ構造)をコマンド一つで作ってくれたりして便利です.

デベロッパーツールのダウンロードと配置

gitからダウンロードします.

こちらのページからZIPファイルを適当なディレクトリにダウンロードします.

gitからダウンロードする場合,gitの仕様上,phalcon-devtools-masterという名前のディレクトリに展開されるはずです.これをC直下に移動させたいのですが,名前にmasterなどとついている必要がないので,私はディレクトリ名をphalcon-devtoolsとしてC直下に配置しました.

phalcon.batの編集

pahcon.batを適当なエディタで開いて,set PTOOLSPATH~の部分を以下のように変更します.

ここで注意なのが,公式のドキュメントでは最後のバックスラッシュが無いのですが,これが無いとおそらくちゃんと読み込んでくれません.

Pathを通す

ホストPCのShellから操作したいので,XAMPPのPHPと,phalcon-devtoolsにPathを通します.

システムの環境変数のPathに,C:\xampp\phpと,C:\phalcon-devtoolsを追加します(違う場所に配置した場合などは適宜読み替えてください).

phpデベロッパーツールの動作確認

以下のコマンドできちんとPathが通ったか動作確認をします.

> php -v
バージョンが出る
> phalcon
Phalcon: incorrect usage 
もしくは (現在の仕様では↓が出そう)
Phalcon DevTools (3.0.1)

Available commands:
  commands         (alias of: list, enumerate)
  controller       (alias of: create-controller)
  module           (alias of: create-module)
  model            (alias of: create-model)
  all-models       (alias of: create-all-models)
  project          (alias of: create-project)
  scaffold         (alias of: create-scaffold)
  migration        (alias of: create-migration)
  webtools         (alias of: create-webtools)

ここで,phalconと打った時にcould not open input file~~的なエラーが出る場合,環境変数の設定かbatファイルに書いた方のインストールディレクトリパスが間違っている可能性が高いので確認してみてください.

3.Phalconの動作確認

動作確認をします.早速デベロッパーツールを使ってプロジェクトスケルトンを生成します.XAMPPのhtdocs配下の適当なディレクトリで以下のコマンドを実行します.私はhtdocs直下でphalcon-testというプロジェクトを生成します.

C:\xampp\htdocs>phalcon create-project phalcon-test

Phalcon DevTools (3.0.1)


  Success: Controller "index" was successfully created.

C:\xampp\htdocs\phalcon-test\app\controllers\IndexController.php

  Success: Project "phalcon-test" was successfully created.

 

作られたらhttp://localhost/そのディレクトとしてアクセスしてみましょう.

phalcon-test

このような画面が表示された成功です.

(80番をIISに掴まれているので8080にしてますが特に関係ないのでお気になさらず...)