windows用symfony创建一个项目

最近玩一下symfony框架,在安装中遇到了不少的问题
symfony pear安装方法
1 . pear channel - discover pear.symfony - project.com
2 . pear install symfony / symfony

下面的个人在window下用pear安装symfony 并用他来创建一个项目的实践过程,测试通过的
如果有问题可以联系我


用pear 安装的 symfony 来创建一个项目操作的 最终版本
1.在d:/apps/www 盘创建一个目录myproject 然后进入到ms-dos下面
cd d:/apps/www/myproject

2.初始化该项目
a).cmd> symfony init-project myproject

b).然后修改当前目录(d:/apps/www/myproject)下的symfony文件,在文件的最上一行添加入下面的一条
set_include_path(dirname(__FILE__).PATH_SEPARATOR.get_include_path());
否则下面的几条命令在执行的时候会有问题

c).修改config/databases.yml 把该文件中的所有 '#'都去掉,并根据自己的情况修改数据库的相关配置
相关内容
all:
  propel:
    class:          sfPropelDatabase
    param:
      dsn:          mysql://root@localhost/myproject

提示上面的symfony指令是在 pear 目录下面的,已经注册到系统的环境变量中


3.初始一个应用myapp
cmd>php symfony init-app myapp

4.在myapp应用初始一个article模块
cmd>php symfony init-module myapp article

5.根据 config/schema.yml来创建model
schema.yml:
propel:
  blog_article:
    _attributes: { phpName: Article }
    id:
    title:       varchar(255)
    content:     longvarchar
    created_at:
  blog_comment:
    _attributes: { phpName: Comment }
    id:
    article_id:
    author:      varchar(255)
    content:     longvarchar
    created_at:

cmd>php symfony propel-build-model

6.Generating a Scaffolding
cmd>php symfony propel-generate-crud myapp article Article


7.Initiating a scaffolding
cmd>php symfony propel-init-crud myapp article Article

生成缓存文件
cmd>php symfony cc myapp config

8.装schema.yml中的内容变成SQL 并导入数据库中
cmd>php symfony propel-build-sql
cmd>mysql -uroot -p myproject < ./lib/data/lib.model.schema.sql

9.查看结果
http://localhost/myproject/web/index.php/article/index

由于现在的大多PHPER用过smarty
symfony也考虑在内,他提供了一个smarty的插件
安装方法
cmd > php symfony plugin - install http: // plugins.symfony-project.com/sfSmartyViewPlugin
    PROJECT_OUT_DIR/symfony文件中一定要加入下面的一句内容,否则在安装时会现错    set_include_path(dirname(__FILE__).PATH_SEPARATOR.get_include_path());


所遇到的问题

此时会出现该页无图片显示
经查看源代码发现是因为图片及样式,JS的样式地址不对
在官方网站查看了相关的技术资料后进行了虚拟主机的配置
由于我用了httpd-vhosts.conf

故我在httpd-vhosts.conf中添加了下面的段虚拟主机的描述
< VirtualHost  * : 80 >
  ServerName askeet
  DocumentRoot 
" d:/apps/www/symfony/askeet/web "
  DirectoryIndex index.php
  Alias 
/ sf d:/apps/php/pear/data/symfony/web/sf

  
< Directory  "d:/apps/www/symfony/askeet/web " >     
    AllowOverride All
  
Directory >
VirtualHost >

在C:/WINDOWS/system32/drivers/etc/hosts中加入
127.0 . 0.1  askeet

重启apache

打开URL: http://askeet

错误提示:You don't have permission to access / on this server

修改httpd.conf中的
< Directory  />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Allow from all
    Satisfy all
Directory >


< Directory  />
    Options FollowSymLinks
    AllowOverride None
Directory >

重启apache 再打开http://askeet
一切OK

针对上面的问题当然还有另外的方法
即在配置虚拟主机的时候不要“Alias /sf d:/apps/php/pear/data/symfony/web/sf”
将d:/apps/php/pear/data/symfony/web/sf 复制到 d:/apps/www/symfony/askeet/web/sf (根据自己的情况来定)

提示:记得在对apache配置做的所有修改都需要重启apache


上面的是我在玩symfony的过程中遇到的问题

其实后来在 官方网站才看到有更详细的
http://www.symfony-project.org/askeet/1_0/1
不过对于新手还是会遇到我所遇到的问题

但愿对你有用!

你可能感兴趣的:(PHP技术文章)