0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

symfony4のローカル環境構築

Last updated at Posted at 2022-09-07

経緯

symfony4の勉強しようと思っても買った本のコマンドをコピペするとsymfony5が入ってきて、微妙に仕様が変わっているのであえてバージョン指定したかった。

なお、2022-9-8現在、DB操作に必要なクラスがどうやっても動きませんでした。
特定のライブラリをダウングレードすれば動くとあるけど、それでも動かないので他もサポート切れてるかも?
勉強するだけなら諦めて5をインストールしたほうがよさそうです。

インストールコマンド

バージョンを指定するにはインストールコマンドの最後にスペースあけてバージョン番号を書く。
ところがzshの場合これではアスタリスクが想定外の解釈を起こすらしくエラーになるので、ここだけbashにして終わったらzshに戻す。
(他の解説サイトでは.zshrcを書き換えていたけど、今回は一行動かすだけだしこれでいいかな、と。)

bash
composer create-project symfony/website-skelton project_name 4.4.*
zsh

簡易サーバを使いたい場合は以下のコマンドで追加のインストールが必要になっている。

cd project_name
composer require symfony/web-server-bundle --dev

これをしないと

bin/console server:run

しても以下のエラーでサーバが起動しない。

  Command "server:run" is not defined.

  Did you mean one of these?
      dbal:run-sql
      server:dump
      server:log

MAMPとかちゃんとしたhttpdソフト使うなら不要だけど、使い捨てのプロジェクトにvertual hostの設定するのも億劫だったりするのであると便利。

DB設定

プロジェクトルートフォルダにある .envを自身の環境に合わせて書き換える。

.env

勉強用の場合、以下の行を有効化して他のDATABASE_URL=で始まる行を#でコメントアウトするだけでいい。

DATABASE_URL="sqlite:///%kernel.project_dir%/var/data.db"

ormライブラリをダウングレードする

bin/console make:entity すると
以下のエラーで動きませんでした。

Class Doctrine\Persistence\Mapping\Driver\AnnotationDriver does not exist

symfony 4.4 のサポートが終了したため、symfony 5.4 に移行するまでは composer.json を変更し、doctrine/orm を 2.11 にダウングレードする必要があります。

出典:https://github.com/symfony/symfony/discussions/46403

だそうです。

この参考ページにcomposer.jsonを書き換えてupgradeすれば治るとかいてありますが、
そのとおりやっても動きませんでした。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?