Symfoware

Symfowareについての考察blog

PHPフレームワーク「Phalcon」をFreeBSD 10 + nginxで動かす

PHPフレームワーク「Phalcon」
http://phalconphp.com/ja/

最速PHPフレームワークっていうキーワードにひかれました。
どうも、PHPじゃなくてPHPのC言語拡張でフレームワークが作成されているようです。
そりゃ速いわ。

テンプレートエンジンがPHP依存じゃなくて独自記法なのが気に入ったので、
FreeBSD 10 + nginxな環境で動かしてみようと思います。



Phalconのインストール



こちらを参考に進めていきます。
http://docs.phalconphp.com/ja/latest/reference/install.html

インストールしたてのFreeBSD 10を用意しました。

素直にpkg installでインストールしてみます。


# pkg install phalcon

(略)

The following 6 packages will be installed:

    Installing libxml2: 2.9.1_1
    Installing pcre: 8.34_1
    Installing php5: 5.4.28
    Installing php5-pdo: 5.4.28
    Installing php5-hash: 5.4.28
    Installing phalcon: 1.3.1




ずっと勘違いしていたのですが、pkg installでインストールしたphpでも
php-fpmがインストールされるんですね。
ソースからじゃないとインストールされないと思ってました。


phalconと同時にphpがインストールされます。
phpの設定ファイルのサンプルをコピーして有効にします。
今回は、開発用のものを有効にしました。


# cp /usr/local/etc/php.ini-development /usr/local/etc/php.ini






nginxのインストール



nginxもpkg installでインストールします。


# pkg install nginx






各種設定



こちらを参考にnginxの設定を行いました。
http://docs.phalconphp.com/ja/latest/reference/nginx.html

事前にphalcon用の公開ディレクトリを作成しておきます。


# mkdir -p /usr/local/www/phalcon/public




nginx.confを編集


# vi /usr/local/etc/nginx/nginx.conf




serverの内容は以下のようになりました。
よくわかっていないのですが「$_SERVER[‘REQUEST_URI’] をURIsとする場合」のサンプルを
参考にしています。


    server {
        listen     80;
        server_name localhost;

        #charset koi8-r;

        #access_log logs/host.access.log main;

        index index.php index.html index.htm;
        set $root_path '/usr/local/www/phalcon/public';
        root $root_path;

        location / {
                try_files $uri $uri/ /index.php;
        }

        #error_page 404             /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
            root /usr/local/www/nginx-dist;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        location ~ \.php$ {
                try_files $uri =400;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }

        location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {
                root $root_path;
        }
        
        location ~ /\.ht {
                deny all;
        }




php-fpmとnginxを起動するための設定を行います。
こちらを参考にしました。
FreeBSD 10にNginx + php-fpmをインストールする


rc.confを編集し、php-fpmとnginxが起動できるようにします。

# vi /etc/rc.conf




以下の2行を追加。

php_fpm_enable="YES"
nginx_enable="YES"




php-fpmとnginxを起動します。


# service php-fpm start
# service nginx start





これで動くはず。
動作確認用のプログラムを作成します。


# vi /usr/local/www/phalcon/public/info.php



内容は以下の1行。


  1. <?php print_r(get_loaded_extensions()); ?>




ブラウザで、http://[サーバーIP]/info.phpにアクセスしてみます。
こんな感じで、phalconの文字が確認できました。

426_01.png


Array (
    [0] => Core
    [1] => date
    [2] => ereg
    [3] => libxml
    [4] => pcre
    [5] => Reflection
    [6] => SPL
    [7] => standard
    [8] => mysqlnd
    [9] => cgi-fcgi
    [10] => PDO
    [11] => hash
    [12] => phalcon
    [13] => mhash
)



とりあえずインストールはできたようです。
関連記事

テーマ:サーバ - ジャンル:コンピュータ

  1. 2014/06/04(水) 22:54:19|
  2. PHP
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
<<PostgreSQLのUNLOGGED TABLEで、データ登録の高速化 | ホーム | Ubuntu 14.04から他のLinuxサーバーへssh(sftp)でファイルをコピーする>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://symfoware.blog68.fc2.com/tb.php/1425-050c8b5b
この記事にトラックバックする(FC2ブログユーザー)