参考: http://symfony.com/doc/current/book/page_creation.html
在学习Documentation / Book上的第四章Creating your first Page in Symfony时,尝试做了一下第一个例子没有成功,又查了一些资料,发现是有配置没有做。
官方给的文档还是基于symfony2写的,symfony3的架构发生了变化,部分文件的位置也变了,导致官方提供的有些命令不太适用要相应修改一下。
参考官方给的文档:http://symfony.com/doc/current/cookbook/configuration/web_server_configuration.html
(1). 对于Apache服务器配置
1. 打开wamp server,找到apache的配置文件httpd.conf
2.在httpd.conf中加入如下代码(图来自于官方手册)
<VirtualHost *:80>
ServerName domain.tld
ServerAlias www.domain.tld
DocumentRoot /var/www/project/web
<Directory /var/www/project/web>
AllowOverride None
Require all granted
Allow from All
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>
</Directory>
# uncomment the following lines if you install assets as symlinks
# or run into problems when compiling LESS/Sass/CoffeScript assets
# <Directory /var/www/project>
# Options FollowSymlinks
# </Directory>
# optionally disable the RewriteEngine for the asset directories
# which will allow apache to simply reply with a 404 when files are
# not found instead of passing the request into the full symfony stack
<Directory /var/www/project/web/bundles>
<IfModule mod_rewrite.c>
RewriteEngine Off
</IfModule>
</Directory>
ErrorLog /var/log/apache2/project_error.log
CustomLog /var/log/apache2/project_access.log combined
</VirtualHost>
(2). 本地端口配置
通过命令行进入你所创建的项目目录,键入命令:$ php bin/ console server: start localhost: 8000 , 这步操作完成后就可以和官网教程一样,通过在地址栏输入http: // localhost:8000 来访问你的项目了。
以上配置完成后,可以成功跑官方手册上那个lucky/number的例子。
在第四章的最后,分析了项目的目录结构:
app/: 主要是一些配置文件和.twig的模板。其中的AppKernel.php用来注册新的Bundle
src/: 放置.php文件(自定义的控制函数)。
web/: 是项目的根目录并包含一些公开的文件(如CSS文件、图片资源,Symfony前端控制器等)
tests/:
进行项目的自动测试(?)。
bin/:
这里放的是二进制的文件。 其中最重要的是console文件,用于通过控制台执行symfony命令。
var/:
一些自动产生的文件会存储在这里(例如缓存、日志等)
vendor/:
一些第三方的代码库、包、bundles会被Composer包管理器下载到这里。
不要编辑该目录下的东西。