技术库 > Symfony

Symfony安装

技术库:tec.5lulu.com

from:tec.5lulu.com

 

最简单的方法是用PEAR 包来装symfony ,不过,要能用频道( channels)-然后存取symfony 频道,你需要升级到PEAR 1.4.0 以上。(除非你用PHP 5.1.0,它已包含PEAR 1.4.5)

$ pear upgrade PEAR 

注意:假如你有遇到任何使用PEAR的问题,请参考installation book的章节。

现在你能加入symfony'频道

$ pear channel-discover pear.symfony-project.com 

你已准备就绪来安装最新的稳定版本,且把相依的套件也下载回来。

$ pear install symfony/symfony-beta 

假如你没有phing 包,你也要装它。

$ pear install http://phing.info/pear/phing-current.tgz 

查看symfony 是否装好,你可以下指令下来检查版本:

$ symfony -V 

假如你好奇,有那些新指令可下,你可打symfony -T来列出所有可能的选项,你也许想要知道如何从tgz的压缩档或svn源码仓库来安装symfony。你可以从安装章节读到。也有社群贡献了不用PEAR的安装方式在symfony wiki上

1专案设定

在symfony ,专案里的多个程式可以共享一样的资料模型。在askeet 专案,我们也会揭露这个事实,将会有前端和后端两组程式。专案是程式的壳(shell),它要最早被建立,做个专案,你要一个目录和symfony的专案初始指令

$ mkdir /home/sfprojects/askeet $ cd /home/sfprojects/askeet $ symfony init-project askeet

现在,是时候了,下symfony init-app指令来建一个前端的程式

$ symfony init-app frontend 

哇,很快

注意: Windows使用者在跑symfony时,建新专案时在路径上请不要有空白(spaces)-尤其是Documents and Settings这个目录

2网站建立

网页服务器设定

现在你可以改变你的Apache设定,让你的新程式可以存取。在一个专业的内容,最好是将一个新的程式设成虚拟主机(virtual host),将在这里说明。也许你喜欢将它设成别名(alias),你可参考web server configuration book章节,打开Apache/conf/下的httpd.conf,在最后面加上这段。

<VirtualHost *:80>    ServerName askeet    DocumentRoot "/home/sfprojects/5lulu/web"    DirectoryIndex index.php    Alias​​ /sf /usr/local/lib/php/data/symfony/web/sf    <Directory "/home/sfprojects/5lulu/web">     AllowOverride All    </Directory> </VirtualHost>

注意: /sf别名必须指向在你PEAR data的目录,要确定一下这个路径,你只要打“pear config-show”, Symfony的 ​​程式必须要能存取这个目录来取得图档和一些javascript档,才能适当地执行除错的工具列和AJAX辅助工具。

在Windows ,你必须将这个别名指向如:

Alias​​ /sf "C:phppeardatasymfonywebsf" 

设置域名

domain name askeet 必须在本机宣告,假如你在Linux ,你编辑/etc/hosts档,如果你在Windows XP ,这个档在C:WINDOWSsystem32driversetc,加上一列,

127.0.0.1 5lulu 


注意:你需要是管理者的权限来做这些事,假如你不想设一个新主机名,你可以加一个加一个监听(Listen statement)的埠来服务你的网站。这样也可以允许你使用本机网域(localhost domain)

测试新设定

重启Apache ,在浏灠器的网址列打

http://5lulu/ 

 

注意: symfony可用mod_rewrite模组来移除URLs的/index.php/部分(网址列的字不用打那么长,打愈长,愈容易出错)。如果你不想用它,或是你的网站服务器没有提供这种便利性,你可以移除web/下的.htaccess。假如你的版本没有将mod_rewrite编译进来,检查一下你是有装mod_rewrite DSO,及你的设定档httpd.conf里,是否有

 AddModule mod_rewrite.c  LoadModule rewrite_module modules/mod_rewrite.so

你可在routing chapter学更多关于聪明的(smart) URLs

你可以在开发环境里这样试一下,

http://5lulu/frontend_dev.php/ 

网页上的除错列在右上角有秀出来,也有小小的图示,证明了你的别名(sf/) 是设正确的

译注:当然,如果你打算跑在IIS上(劝你还是不要跑IIS,这手册相对来讲较少讲到IIS,你会蛮不方便的,早点脱离WINDOWS也是早点往顶尖程式员之路迈进,不过真要用LINUX,还是用前人已经包好的快速包(如XAMPP),降低学习挫折,有感觉后,再从头自己建置服务,笔者(tim)目前在UBUNTU下翻译此教材,几代人的投入,在LINUX下KEY中文还蛮方便的)请阅读相对应的教材来设定它。

3版本控制

懒家伙的一个好原则是不用担心现存的原始码被破坏掉。我们想工作快点,如果修改的不恰当,我们想回复到上一个​​版本,我们要允许一个人以上一同来开发项目,我们也希望你可以存取所有每日的版本,我们将采行原始码版本控制。我们用Subversion 来达到目的。假设你已经装好一个subversion 服务器而且有权限来存取它

首先,建一个仓库来放askeet 项目

$ svnadmin create $SVNREP_DIR/askeet $ svn mkdir -m "layout creation" file:///$SVNREP_DIR/askeet/trunk file:///$SVNREP_DIR/askeet/tags

然后,你必须做第一次汇入,cache/和log/这些档就省略掉不用汇入了。(只要对“原始码”的部分汇入即可)

$ cd /home/sfprojects/askeet $ rm -rf cache/* $ rm -rf log/* $ svn import -m "initial import" . file:///$SVNREP_DIR/askeet/trunk

现在离开原来的程式目录,用checkout 从仓库拿原始码出来。

$ cd /home/sfprojects $ mv askeet askeet.origin $ svn co file:///$SVNREP_DIR/askeet/trunk/ askeet/ $ ls askeet $ rm -rf askeet.origin

还有一件事要做,就是当你提交(commit ,回写你的程式变更)你的工作目录回仓库时。你可能会有一些不用回写的档案,如刚刚的cache 和log目录下的档案。所以你必须要指定一个忽略列表(ignore list )

$ cd /home/sfprojects/askeet $ svn propedit svn:ignore cache *

此时会出现SVN 的预设文字编辑器。输入*号后cache/子目录就会被添加到SVN忽略的名单里了。储存和离开即可。

对log/也是同样的作法

$ svn propedit svn:ignore log *

现在,请确定你的网站服务器对cache 和logs 目录有写入的权限,在指令列

$ chmod 777 cache $ chmod 777 log

注意: Windows可以使用超级有名的TortoiseSVN来管理他们的subversion源码仓库。

 

Symfony安装


本文链接 http://tec.5lulu.com/detail/101ptn2obmnp2892e.html

我来评分 :6.1
0

转载注明:转自5lulu技术库

本站遵循:署名-非商业性使用-禁止演绎 3.0 共享协议

www.5lulu.com