第一步,我们要安装composer
composer是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。我们也使用它,来完成symfony的安装工作。
来到composer官方网站 http://getcomposer.org/ ,我们点击页面上的“Download”, 来到这个页面 http://getcomposer.org/download/
根据不同的系统下载相应的composer即可。composer有个中文网站也很完善 http://www.phpcomposer.com/。
本文章我们使用windows系统
在http://getcomposer.org/download/要找到Windows Installer并下载 Composer-Setup.exe
下载完成后,双击安装所有默认下一步即可。安装完成后,你的环境变量也会自动添加composer以方便命令行的输入。
第二步,下载安装symfony
比如我们的程序要安装到C盘的webroot目录下,我们要启动命令行,输入以下命令
1 |
composer create-project symfony/framework-standard-edition /webroot/Symfony 2.5.* |
symfony现在开始下载安装,在这个过程中会有一些信息需要输入
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
Would you like to install Acme demo bundle? [y/N] y (如果你需要一个实例,你就要输入y) database_driver (pdo_mysql): (数据库驱动,如果使用mysql直接回车) database_host (127.0.0.1): (数据库主机,直接回车即可) database_name (symfony): (项目输入库名称,默认为symfony) database_user (root): (数据库用户名) database_password (null): (数据库密码) mailer_transport (smtp): (邮件的传输协议) mailer_host (127.0.0.1): (邮件主机) mailer_user (null): (邮件用户名) mailer_password (null): (邮件密码) locale (en): (当前语言环境) secret (ThisTokenIsNotSoSecretChangeIt): (秘钥) debug_toolbar (true): (是否开启debug工具) debug_redirects (false): (是否开启debug重定向) use_assetic_controller (true): (使用Assetic) |
如果上面的信息输入有误,可打开 /webroot/Symfony/app/config/parameters.yml 进行修改。
第三步,IIS 设置symfony站点
让我们进入(Internet信息服务(IIS)管理器)界面,网站右键->添加网站
点击确定后,我们还不能使用域名去访问本地我们还需要进行一个设置
打开C:\Windows\System32\drivers\etc\hosts文件,在文件最后一行输入
1 |
127.0.0.1 nlcinformation.local |
第四步,完成看看我们的页面吧
输入网址 http://nlcinformation.local/app_dev.php ,哈哈 偷着乐吧
还没完我们还需要写一个rewrite,如果你还没有安装iis重写模块,请点击 http://www.iis.net/downloads/microsoft/url-rewrite,安装重写模块完成后。
在symfony2的web目录下创建web.config,并添加下列规则
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <defaultDocument enabled="true"> <files> <add value="app_dev.php" /> </files> </defaultDocument> <rewrite> <rules> <rule name="Imported Rule 1" stopProcessing="true"> <match url="^(.*)$" ignoreCase="false" /> <conditions logicalGrouping="MatchAll"> <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" /> </conditions> <action type="Rewrite" url="app_dev.php" appendQueryString="true" /> </rule> </rules> </rewrite> </system.webServer> </configuration> |
在浏览器中输入 http://nlcinformation.local/
先收工了,下一章节继续。
注意如果出现如下错误不要惊慌
第一
访问 http://nlcinformation.local/app_dev.php 时出现:
12 PHP Warning: require_once(C:\webroot\Symfony\web/../app/bootstrap.php.cache): failed to open stream: Permission denied in C:\webroot\Symfony\web\app_dev.php on line 20PHP Fatal error: require_once(): Failed opening required 'C:\webroot\Symfony\web/../app/bootstrap.php.cache' (include_path='.;C:\php\pear') in C:\webroot\Symfony\web\app_dev.php on line 20问题在于iis绑定web,那么symfony访问symfony其他文件出现权限问题
解决办法:给symfony文件夹,添加Users组读写访问权限。第二
输入 composer create-project symfony/framework-standard-edition /webroot/Symfony 2.5.*后出现
An error occured when executing the cache:clear –no-warmup
请查看 此链接 排查
谢谢你的分享。但是我在安装过程中出现一个问题,我执行完所有步骤之后点击http://nlcinformation.local/出现的是WampServer的主页面而不是Symfony的,我要怎么解决呢?我之前看到安装Symfony需要Apache,所以我就下了WampServer里面带有Apache。在线等~
如果你使用http://localhost/symfonyproject/web/app_dev.php会直接看到symfony的欢迎页面
如果你想http://nlcinformation.local/访问的话,你需要在你的apache中配置你的symfony站点,还要适当配置你的url-rewrite。
当然我在例子中使用的windows+IIS可能跟别人的不太一样,其实apache的操作也很容易