🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
说明:本篇学习笔记是学习 http://www.chrisyue.com/symfony-in-action-day-1.html 记录的,作者用的是symfony2.7-的版本,本篇用的是symfony3的版本。 准备工作 php5.6,phpstorm2016, 初始化项目 先建一个目录www 在这下面安装symfony installer $ 为命令提示符,实际不用输入,不再赘述 `$php -r "readfile('http://symfony.com/installer');" > symfony.phar` `$php symfony.phar` 会显示版本号,及如何使用symfony installer 的简单介绍: ![](https://box.kancloud.cn/b72bf1b95dd631730c98a525fef34769_1280x1034.png) 接下来,我们用symfony.phar创建一个项目,新闻聚合类网站,取名news `$php symfony.phar new news` 如果网络没问题的话(需要科学上网软件),应该会出现进度条,此时Symfony installer在当前目录下创建了news,并且初始化了Symfony框架的工作目录,以及下载所需要的PHP第三方库。 Downloading Symfony... 85.81 KB/4.89 MB ▓ 1% 当下载完成后,进入 news 目录,我们可以看到 Symfony installer 为我们初始化的工作目录。这里我们可以把一些对开发来说没有必要的文件删除掉(UPGRADE-***,LICENSE,README.md)。 不出意外,我们便可以通过一下命令开启一个 Web server 监听在 localhost:8000 上(注:此命令只能运行在 PHP 5.5 版本之上,并且 Windows 可能只能运行 server:run,两者的区别你们自己试试就知道) `$php bin/console server:start localhost:8000` [OK] Web server listening on http://localhost:8000 *** 注:在 3.0 以下的版本,console 位于 app 目录下面,后面所有 php bin/console xxx 命令,在老版本里都是 php app/console xxx,以下不再赘述! 另外在 *nix 环境下,app/console 或者 bin/console 只要有可执行权限,都是可以不需要显式调用 php 而直接运行的: `$ bin/console server:start` [OK] Web server listening on http://127.0.0.1:8000 在浏览器里访问 http://localhost:8000 应该可以看到Symfony Framework 安装好之后的欢迎界面了。 ![](https://box.kancloud.cn/43310534223d764a7ffb34c8e08163eb_2022x948.png) 如果是2.7-以下版本,欢迎界面不一样。 至此,symfony初始化工作已经完成。 我们可以使用 Symfony 框架自带的脚本工具,来确认当前的环境是否已经足够顺利运行 Symfony: `$ php bin/symfony_requirements` 在 Symfony 2.7- 下 `$ php app/check.php` 比如我这里显示的结果,命令运行结果推荐我安装 intl 扩展 ![](https://box.kancloud.cn/0aa90b894e68d5cb72795a431f1c2e26_1184x870.png) 另外我们也可以看到提示说因为命令行加载的 php.ini 可能和 web 服务器加载的不一样(常见的 php-fpm 一般都跟命令行下的 php 加载的不是同一个 php.ini 文件),建议在浏览器里查看 径 /config.php 复查一下。 ![](https://box.kancloud.cn/130bf3977903690b79a28330d0a2090f_2842x1436.png) -- 附:我在安装时遇到的问题: macdeMacBook-Pro:data mac$ php news/bin/symfony_requirements Symfony Requirements Checker ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > PHP is using the following php.ini file: /usr/local/etc/php/5.6/php.ini > Checking Symfony requirements: .....E......................WW...... [ERROR] Your system is not ready to run Symfony2 projects Fix the following mandatory requirements ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * date.timezone setting must be set >Set the "date.timezone" setting in php.ini* (like Europe/Paris). 。。。 然后我自以为php.ini指的是,/private/etc/php.ini 修改了,重启了,还是报错。 就是没看清上面写着啊, > PHP is using the following php.ini file: /usr/local/etc/php/5.6/php.ini