環境の説明
オペレーティング システム
tony@ubuntu:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04.2 LTS Release: 14.04 Codename: trusty
Symfony
symfony2.8
インストールの準備
apt-get
を使用してインストールします
PHP5.4
少なくともPHP5.4環境が必要です
nginx
Webサーバーは必須
インストール手順
1.公式コマンドツールをダウンロード
sudo curl -LsS https://symfony.com/installer -o /usr/local/bin/symfony sudo chmod a+x /usr/local/bin/symfony
2.プロジェクトを作成
ここでプロジェクト作成を実行すると、公式サイトからソースコードパッケージがダウンロードされるので、実行後はカレントディレクトリに表示されます
symfony new symfony2.8 2.8
ここでsymfony2.8という新しいプロジェクトを作成しました。最後の 2.8
(プロジェクト名の 2.8 ではありません) は、指定された symfony2.8 バージョンのソース コードをダウンロードします。他のバージョンをダウンロードしたい場合は、インターフェイス
3 を変更します。 . 検出
インストール後、Symfony はオペレーティング システム環境が symfony の実行に適しているかどうかを確認するためにいくつかのテストも実行します。プロンプトに従って不足している拡張機能をインストールするか (intl
をインストールしました)、PHP を変更します構成 (タイムゾーンを変更しました) を実行し、
php symfony2.8/bin/symfony_requirements
を実行して、合格したかどうかを再度確認します (php の背後にあるファイルは新しく作成したプロジェクト内にあり、ここでのプロジェクト名は symfony2.8 です)
Run
symfony2.8' 組み込みコンソール (場所
symfony2.8/bin/console) は一時的に Web サーバーを起動できます。デフォルトのポートは 8000 です。スタートアップでは、
http://localhost :8000` を使用してください。彼のウェルカム ページが表示されます。
nginx 設定
nginx 設定は、公式ドキュメントにも含まれています。ここに私のものを直接コピーします。
server { listen 8028; #server_name domain.tld www.domain.tld; root /data/app/symfony2.8/web; location / { # try to serve file directly, fallback to app.php try_files $uri /app.php$is_args$args; } # DEV # This rule should only be placed on your development environment # In production, don't include this and don't deploy app_dev.php or config.php location ~ ^/(app_dev|config)\.php(/|$) { fastcgi_pass 127.0.0.1:9000; fastcgi_split_path_info ^(.+\.php)(/.*)$; include fastcgi_params; # When you are using symlinks to link the document root to the # current version of your application, you should pass the real # application path instead of the path to the symlink to PHP # FPM. # Otherwise, PHP's OPcache may not properly detect changes to # your PHP files (see https://github.com/zendtech/ZendOptimizerPlus/issues/126 # for more information). fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; fastcgi_param DOCUMENT_ROOT $realpath_root; } # PROD location ~ ^/app\.php(/|$) { fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_split_path_info ^(.+\.php)(/.*)$; include fastcgi_params; # When you are using symlinks to link the document root to the # current version of your application, you should pass the real # application path instead of the path to the symlink to PHP # FPM. # Otherwise, PHP's OPcache may not properly detect changes to # your PHP files (see https://github.com/zendtech/ZendOptimizerPlus/issues/126 # for more information). fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; fastcgi_param DOCUMENT_ROOT $realpath_root; # Prevents URIs that include the front controller. This will 404: # http://domain.tld/app.php/some-path # Remove the internal directive to allow URIs like this internal; } # return 404 for all other php files not matching the front controller # this prevents access to other php files you don't want to be accessible. location ~ \.php$ { return 404; } error_log /data/log/nginx/symfony_error.log; access_log /data/log/nginx/symfony_access.log; }
nginx には開発環境に適した構成と運用環境に適した構成が含まれていることに注意してください。Huajing を運用環境にデプロイする場合は、必ず言及しないようにしてください。開発環境の構成。
構成後、nginx をリロードします。ここでリッスンしているのは、仮想マシンの 8028 ポートです。このポートにアクセスすると、ようこそページを直接表示することもできます