symfony开发环境配置

如果是windows环境开发建议全程使用git bash代替cmd。

安装

一般来说有三种安装方式,1.symfony的安装器安装,2.composer安装,3.github安装,经过自己使用第一种安装方式是最简单速度也是最快的,输入如下命令创建一个新的symfony项目:

php -r "readfile('https://symfony.com/installer');" > symfony
symfony new my_project_name

apache配置

默认symfony建议使用 php app/console server:run 来启动,但是平时开发每次启动电脑都要输入这个命令可能会觉得麻烦,下面有更好的办法,那就是将apache添加到服务中,电脑启动会自动启动apache服务,之后如果有修改配置,使用如下命令重启apache:

/d/server/apache/bin/httpd.exe -k restart

然后添加一个vhost配置,一般在apache/conf/extra/httpd-vhost.conf文件中:

Listen 8000 #可以修改你自己想要使用的端口
<VirtualHost *:8000>
   ServerAdmin admin@localhost
   DocumentRoot "/path/to/symfony_root/web/"
   ServerName localhost
   ServerAlias localhost
   DirectoryIndex app_dev.php
   ErrorLog "logs/localhost-8000-error.log"
   CustomLog "logs/localhost-8000-access.log" common

   AllowOverride None
</VirtualHost>

去掉app_dev.php

开发的时候一般是在dev环境下开发的,所以路由上我们常常需要添加app_dev.php在url下开启dev环境,添加如下配置到刚才VirtualHost标签的后面可以去掉url中的app_dev.php, 注意Directory中我使用的是 “E:*\web”, 这里面*是一个通配符,这样当你的E盘下还有其他的symfony项目时会统一给你添加这条配置:

<Directory "E:\*\web">
    RewriteEngine On
    RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
    RewriteRule ^(.*) - [E=BASE:%1]
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    RewriteCond %{ENV:REDIRECT_STATUS} ^$
    RewriteRule ^app\.php(/(.*)|$) %{ENV:BASE}/$2 [R=301,L]
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule .? - [L]
    RewriteRule .? %{ENV:BASE}/app_dev.php [L]
</Directory>

另外一个比较不那么好的办法是在app.php的最开始添加:

require 'app_dev.php';
exit();

同样可以达到相同的效果,但是如果你用git等cvs工具做版本控制的话,这个文件可能会被错误提交到cvs中,所以建议一般不这么做。

.gitignore配置文件参考

使用git版本控制时有时候我们不要对一些配置文件,缓存文件,依赖包等做版本控制,下面是我的.gitignore配置文件参考:

.idea/
app/cache/
app/logs/
vendor/
src/AppBundle/Entity/*~
web/bundles/*
app/config/parameters.yml

composer镜像

因为gtw,所以composer一般都很慢甚至不能使用,感谢国人做的镜像,在cli下输入如下命令:

composer config -g repo.packagist composer https://packagist.phpcomposer.com

就可以愉快的使用composer啦

发表评论

电子邮件地址不会被公开。 必填项已用*标注