【PHP】 爆速と噂されるPHP FrameworkのPhalconをインストールしてみる
最近爆速と話題のPhalconをインストールしたのでメモ。
今回は以下サーバに対してインストールをしてみようと思います。
最低限のインストール
まずは今回使うサーバです。 ちょっと古いですが、以下のサーバにインストールしようと思います。
# cat /etc/redhat-release CentOS release 6.2 (Final)
php,gcc,php-develのインストール
ということで一旦PHPやgcc,php-develのインストールをします。
epelレポジトリ、remiレポジトリをインストールします。
# rpm -Uvh http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/i386/epel-release-6-8.noarch.rpm # rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
既にこの辺インストール終わってるよーPHPもインストールしてるよーって人は飛ばしちゃってくださいね。
さてPHP,gcc,php-develをインストールします。
# sudo yum -y install gcc make # sudo yum -y install php --enablerepo=remi # sudo yum -y install php-devel --enablerepo=remi
これでPHPが入りました。 自分の環境では既にPHPが入ってたんですが、ついでだからupdateしちゃいました。
[root@www6421uf php.d]# php -v PHP 5.4.41 (cli) (built: May 14 2015 23:37:34) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
といっても5.4なんですけどね。
今年末にはPHP7が出るというのに・・・そこら辺はまた別途。
Phalconダウンロード
早速Phalconを落としましょう。
Phalconはgitにソースがあるので、cloneします。 ついでにインストールも。
# git clone git://github.com/phalcon/cphalcon.git # cd cphalcon/build # sudo ./install
php.iniの設定
更にphp.iniの設定も行います。
/etc/php.d/
以下にファイルを作成します。
touch phalcon.ini
ファイルを作ったら以下を記述します。
extension=phalcon.so
それでは無事phalconがインストールされたか確認してみましょう。
[root@www6421uf php.d]# php -i |grep Phalcon PHP Warning: PHP Startup: mongo: Unable to initialize module Module compiled with module API=20090626 PHP compiled with module API=20100525 These options need to match in Unknown on line 0 Author => Phalcon Team and contributors
ん?なんかphalconとは関係なさそうなmongoでなんかWarningが出てる・・・ ってことでpeclでmongoをインストールします。
sudo pecl install -f mongo
再度確認してみます。
[root@www6421uf php.d]# php -i | grep phalcon /etc/php.d/phalcon.ini, phalcon phalcon => enabled OLDPWD => /var/www/html/cphalcon/build _SERVER["OLDPWD"] => /var/www/html/cphalcon/build
phalconがenabledになったのでこれでインストール完了かな。
Phalcon DevToolsのインストール
phalconにはPhalcon DevToolsというものがあります。
こちらもインストールしておきます。
これがあるとCakeのBakeみたいな感じでプロジェクトが簡単に作れます。
まずはgitからcloneします。
# git clone git://github.com/phalcon/phalcon-devtools.git
今回は落としてきたphalcon-devtoolsを/usr/local/src
へ移動させます。
そしてインストール。
# mv phalcon-devtools /usr/local/src # cd /usr/local/src/phalcon-devtools # . ./phalcon.sh
実際インストールといってもphalcon.shではbashにPATH通してるだけみたいです。
ということで~/.bash_profile
を確認してみましょう。
export PTOOLSPATH=/usr/local/src/phalcon-devtools/ export PATH=$PATH:/usr/local/src/phalcon-devtools
上記の2行が追加されてればインストールは完了です。
確認のためにphalconコマンドを打ってみましょう。
# phalcon Phalcon DevTools (2.0.1) Available commands: commands (alias of: list, enumerate) controller (alias of: create-controller) 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 DevToolsでprojectを作成
それではprojectを作っていきましょう。
# phalcon project phalcon-test Phalcon DevTools (2.0.1) Success: Controller "index" was successfully created. Success: Project 'phalcon-test' was successfully created.
phalcon-testというprojectを作りました。
早速中身を確認してみましょう。
# cd phalcon-test # tree . ├── app │ ├── cache │ ├── config │ │ ├── config.php │ │ ├── loader.php │ │ └── services.php │ ├── controllers │ │ ├── ControllerBase.php │ │ └── IndexController.php │ ├── migrations │ ├── models │ └── views │ ├── index │ │ └── index.volt │ ├── index.volt │ └── layouts ├── index.html └── public ├── css ├── files ├── img ├── index.php ├── js └── temp 15 directories, 9 files
とんでもなくシンプルですね。
ではapacheのvhostを設定して繋いでみましょう。
と思ったら早速Warningがでました。。。。
Warning: Phalcon\Mvc\View\Engine\Volt\Compiler::compileFile(/var/www/html/phalcon_source/phalcon-test/app/config/../../app/cache/_var_www_html_phalcon_source_phalcon-test_app_views_index_index.volt.php): failed to open stream: Permission denied in /var/www/html/phalcon_source/phalcon-test/public/index.php on line 27 Volt directory can't be written
よくあるやーつですね。
今回は/var/www/html以下にphalcon_sourceというディレクトリを作ってphalcon-testというprojectを作ったのですが、app/cache
に対して権限が与えられていなかった為にPermissionエラー。
この辺は適当にPermissionを設定してあげると簡単になおります。
chmod -R 777 /var/www/html/phalcon_source/phalcon-test/app/cache
ということで解決
これでこんな表示が出力されればOKです。
Congratulations! You're now flying with Phalcon. Great things are about to happen! This page is located at views/index/index.phtml
さて、さくさくとインストールまで説明しましたが、実際これから少しずつイジっていこうかな。