For Want Of A Better Word

Symfony2をつかってみる①

      2015/04/19

検証としてsymfony2を使ってみるのだ。

環境

CentOS release 6.4 (Final)
php 5.4.1
Apache/2.2.15
mysqlVer 14.14 Distrib 5.1.67, for redhatlinuxgnu (i386) using readline 5.1
Symfony 2.1.1

    • php5.4系にアップデートしよう。。。

概要

  • フルスタックフレームワークとはUIやDB、セキュリティなどの基本的な問題領域にAll in oneな環境を提供するもの
  • 部品だけでも再利用可能。symfony2で作ったものを silexに等。
  • Bundle(⇒プラグインやヘルパーのようなもの)を作成・追加が可能。
  • DIコンテナあり
  • テンプレートエンジンはTwig

使ってみる。

  • 前提条件
    • PHP5.3.2以上 OK
    • php.iniにdate.timezoneが設定されている。 OK
    • (任意)

PHP.ini の推奨設定は次のとおりです
short_open_tags: off
magic_quotes_gpc: off
register_globals: off
session.autostart: off

【インストール参考】
http://docs.symfony.gr.jp/symfony2/quick_tour/the_big_picture.html
http://docs.symfony.gr.jp/symfony2/book/installation.html

Symfonyのインストール実行

# curl -s http://getcomposer.org/installer | php// composerのインストール

#php composer.phar create-project symfony/framewor
k-standard-edition /var/www/html/Symfony 2.2.1

Installing symfony/framework-standard-edition (v2.2.1)
– Installing symfony/framework-standard-edition (v2.2.1)
Loading from cache

Created project in /var/www/html/Symfony
Loading composer repositories with package information
Installing dependencies from lock file
– Installing doctrine/lexer (v1.0)
Loading from cache

– Installing doctrine/annotations (v1.1)
Loading from cache

– Installing doctrine/cache (v1.0)
Loading from cache

– Installing doctrine/collections (v1.1)
Loading from cache

– Installing twig/twig (v1.12.2)
Loading from cache

– Installing psr/log (1.0.0)
Loading from cache

– Installing doctrine/inflector (v1.0)
Loading from cache

– Installing doctrine/common (2.4.0-RC1)
Loading from cache

– Installing symfony/symfony (v2.2.1)
Loading from cache

– Installing jdorn/sql-formatter (v1.2.0)
Loading from cache

– Installing doctrine/dbal (2.3.3)
Loading from cache

– Installing doctrine/doctrine-bundle (v1.2.0-beta1)
Loading from cache

– Installing doctrine/orm (2.3.3)
Loading from cache

– Installing jms/cg (1.0.0)
Loading from cache

– Installing phpoption/phpoption (1.2.0)
Loading from cache

– Installing jms/parser-lib (1.0.0)
Loading from cache

– Installing jms/metadata (1.3.0)
Loading from cache

– Installing jms/aop-bundle (1.0.0)
Loading from cache

– Installing jms/di-extra-bundle (1.3.0)
Loading from cache

– Installing jms/security-extra-bundle (1.4.0)
Loading from cache

– Installing sensio/distribution-bundle (v2.2.1)
Loading from cache

– Installing sensio/framework-extra-bundle (v2.2.1)
Loading from cache

– Installing sensio/generator-bundle (v2.2.1)
Loading from cache

– Installing kriswallsmith/assetic (v1.1.0-alpha4)
Loading from cache

– Installing symfony/assetic-bundle (v2.1.2)
Loading from cache

– Installing monolog/monolog (1.4.1)
Loading from cache

– Installing symfony/monolog-bundle (v2.2.0)
Loading from cache

– Installing swiftmailer/swiftmailer (v4.3.0)
Loading from cache

– Installing symfony/swiftmailer-bundle (v2.2.0)
Loading from cache

– Installing twig/extensions (v1.0.0)
Loading from cache

kriswallsmith/assetic suggests installing leafo/lessphp (Assetic provides the integration with the lessphp LESS compiler)
kriswallsmith/assetic suggests installing leafo/scssphp (Assetic provides the integration with the scssphp SCSS compiler)
kriswallsmith/assetic suggests installing leafo/scssphp-compass (Assetic provides the integration with the SCSS compass plugin)
kriswallsmith/assetic suggests installing ptachoire/cssembed (Assetic provides the integration with phpcssembed to embed data uris)
monolog/monolog suggests installing doctrine/couchdb (Allow sending log messages to a CouchDB server)
monolog/monolog suggests installing ext-amqp (Allow sending log messages to an AMQP server (1.0+ required))
monolog/monolog suggests installing ext-mongo (Allow sending log messages to a MongoDB server)
monolog/monolog suggests installing mlehner/gelf-php (Allow sending log messages to a GrayLog2 server)
monolog/monolog suggests installing raven/raven (Allow sending log messages to a Sentry server)
Generating autoload files
Clearing the cache for the dev environment with debug true
Installing assets using the hard copy option
Installing assets for Symfony\Bundle\FrameworkBundle into web/bundles/framework
Installing assets for Acme\DemoBundle into web/bundles/acmedemo
Installing assets for Sensio\Bundle\DistributionBundle into web/bundles/sensiodistribution

これで、指定したパスの配下にSymfonyのファイル群が配置される。

/Symfony/web/config.phpにアクセス

config.phpは最初は自ホストからしかアクセスできないのでプログラムの該当部分をコメントアウトする。
dev_app.phpも同様に、ローカルホストか判定する処理があるので、該当部分をコメントアウトする。
config.phpで apps/logsとapps/cacheが書き込みできないよと言われるので、権限を修正。
他推奨項目として下記が出ると思うので、
  • Install and enable the php_posix extension (used to colorize the CLI output).
  • Install and enable the intl extension (used for validators).
  • Install and enable a PHP accelerator like APC (highly recommended).
下記でインストール

yum install php54-posix php54-intlphp54-apc

権限を書き込めるようにしたのに、反映されない場合は下記削除コマンド実行。

rm -rf cache/*
rm -rf logs/*

DB作って、GUIで設定して、 eeeeeparameters.ymlに書き込み権限設定して、とりあえずdev_app.phpから動くようになったった。

 - apache, centos, db, linux, mysql, php

  関連記事

php-logo
BLOB【Binary Large OBject】

データベースシステムで定義されるデータ型の一つ。画像や音声などのバイナリデータを …

027
【httpd】restartとgracegul

【Linux】httpdの再起動 【Linux】ht …

centos_logo
【Linux】【CentOS7】インストールからLAMP(apache,mariadb(mysql),php)とその他もろもろインストール

とりあえずPHPでのWEB-DBサーバーの初期設定をまとめ。 インストールは基本 …

apache-logo
mautic利用時の.htaccess設定(クロスドメインとアクセス制御)

mauticをインストールは下記参照。 http://qiita.com/bez …

mysql-logo
mysqlnd

PHP5および6用のMySQLのネイティブドライバです。 mysqliで利用して …