最近玩一下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
不过对于新手还是会遇到我所遇到的问题
但愿对你有用!