regepanのはてなブログ

個人的なメモ帳レベルの文章。

How to install Symfony.

例のごとくすんなりできなかったので、メモしておく。
英語ですが、公式の通りにやるのが一番いいと思う。ただし今だとSymfony3.0.1が自動でインストールされてしまう。
Symfony3.0.1だとphpの内部サーバーがエラーで立ち上がらない。解決してる人がぐぐっても見つからなかったので、僕の環境(PHP 5.4.30 (cli) (built: Jul 29 2014 23:43:29) )が原因なのかもしれないですが。今回はバージョンは何でも良かったので2.7入れたら動いた。

$ php bin/console server:run

↑Symfony3はエラーで立ち上がらない。
↓こんなのが出る。

php bin/console server:run
PHP Parse error:  parse error, expecting `"identifier (T_STRING)"' or `"variable (T_VARIABLE)"' or `'{'' or `'$'' in /Users/hoge/Sites/symfony3-demo/vendor/symfony/symfony/src/Symfony/Component/Debug/ErrorHandler.php on line 376
PHP Stack trace:
PHP   1. {main}() /Users/hoge/Sites/symfony3-demo/bin/console:0
PHP   2. Symfony\Component\Debug\Debug::enable() /Users/hoge/Sites/symfony3-demo/bin/console:24
PHP   3. Composer\Autoload\ClassLoader->loadClass() /Users/hoge/Sites/symfony3-demo/bin/console:0
PHP   4. Composer\Autoload\includeFile() /Users/hoge/Sites/symfony3-demo/vendor/composer/ClassLoader.php:301

Parse error: parse error, expecting `"identifier (T_STRING)"' or `"variable (T_VARIABLE)"' or `'{'' or `'$'' in /Users/hoge/Sites/symfony3-demo/vendor/symfony/symfony/src/Symfony/Component/Debug/ErrorHandler.php on line 376

Call Stack:
    0.0003     235464   1. {main}() /Users/hoge/Sites/symfony3-demo/bin/console:0
    0.0099     716856   2. Symfony\Component\Debug\Debug::enable() /Users/hoge/Sites/symfony3-demo/bin/console:24
    0.0099     717472   3. Composer\Autoload\ClassLoader->loadClass() /Users/hoge/Sites/symfony3-demo/bin/console:0
    0.0099     717648   4. Composer\Autoload\includeFile() /Users/hoge/Sites/symfony3-demo/vendor/composer/ClassLoader.php:301

少しエラー箇所のコード見ましたが理解不能だったので、

$ symfony new test 2.7

↑バージョンを指定する。2.7だとエラーも無くサーバーが立ち上がります。

f:id:reggaepunch:20160123211623p:plain

参考図書

基本からしっかり学ぶ Symfony2入門

基本からしっかり学ぶ Symfony2入門

効率的なWebアプリケーションの作り方 ~PHPによるモダン開発入門

効率的なWebアプリケーションの作り方 ~PHPによるモダン開発入門