Laravel 到底能圆通快递慢到什么程度度

在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
laravel 5.1 做的网站,没什么业务逻辑,感觉很慢啊!
这个问题已被关闭,原因:无法获得确切结果的问题
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
不知道你说的是哪里慢,问题都没说清楚,没法帮助到你
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
应该从这几个方面入手去考虑问题
网页加载内容包含
服务器主文件(你请求的url地址)
这个文件的加载关系到服务器性能, 也就是包含框架的性能, 服务器性能/反应速度, 数据库的读取速度(mysql优化, 数据库查询), 网络, dns解析速度
服务器资源文件(通过主url地址加载的css,js,图片,css用到的图片,字体文件等)
这个是资源文件, 一般和服务器性能没有太直接的关系, 是将资源文件直接加载到你的机器上, 没有经过任何php 的处理, 这个慢不能归咎到php 身上.这个和 IO, 网络, 服务器响应是有关系
关于第一个服务器主文件的加载速度分为以下几个部分解析, 我们打开谷歌的network调试分析下, 这个是我本机的速度 laravel 5.1.35 , 未做任何缓存(optmize,route cache)
这里的内容包含详细见 连接初始部分: 客户端队列/客户端延迟/代理请求初始服务器响应部分:请求发送/ ttfb(服务器等待)/ 内容下载
我们看到的这里的ttfb 便是我们服务器的响应速度, 里边包含
服务器对PHP的处理(php处理/解析速度)
php处理过程中对文件的io加载(磁盘读取速度)
框架解析速度你提的问题应该是第二个步骤的第三个小问题, 框架解析速度, 其中对框架的解析可以有以下几个优化方式
php artisan route:cache
# 路由缓存
php artisan optmize --force
# 程序加载优化
优化对比: 优化前: 优化后:
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。Laravel 4 初级教程之安装及入门
转载 &发布时间:日 14:50:30 & 投稿:hebedich
本文不推荐完全不懂PHP与MVC编程的人学习。本文不是 “一步一步跟我做” 教程。本文需要你付出一定的心智去解决一些或大或小的隐藏任务,以达到真正理解 Laravel 运行逻辑的目的。
0. 默认条件
本文默认你已经有配置完善的PHP+MySQL运行环境,懂得PHP网站运行的基础知识。跟随本教程走完一遍,你将会得到一个基础的包含登录的简单blog系统,并将学会如何使用一些强大的Laravel插件和composer包(Laravel插件也是composer包)。
软件版本:PHP 5.4+,MySQL 5.1+
许多人被拦在了学习Laravel的第一步,安装。并不是因为安装教程有多复杂,而是因为【众所周知的原因】。在此我推荐一个composer全量中国镜像:。推荐“修改 composer 的配置文件”方式配置。我在写此教程时用此镜像测试,安装失败,若你也出现这种情况,可以尝试另一个composer中国镜像:。
镜像配置完成后,切换到你想要放置该网站的目录下,运行命令:
composer create-project laravel/laravel learnlaravel
然后,稍等片刻,当前目录下就会出现一个叫 learnlaravel 的文件夹,这时候如果你通过浏览器访问 learnlaravel/public/ 目录,基本都会显示 Error in exception handler.& ,这是因为 learnlaravel/app/storage 目录没有777权限,设置好权限即可看见页面如下图:
恭喜你~Laravel安装成功!
不想配置镜像的同学,可以使用 Laravel 界非常著名的超超搞得安装神器:
2. 必要插件安装及配置
我们使用著名的Sentry插件来构建登录等权限验证系统。
打开 ./composer.json ,变更为:
"require": {
&"laravel/framework": "4.2.*",
&"cartalyst/sentry": "2.1.4"
然后,在项目根目录下运行命令
composer update
然后稍等一会儿,它会提示 cartalyst/sentry 2.1.4安装完成。
同理,我们将安装一个开发用的非常强大的插件,way/generators,这是它在composer库中的名字。在 composer.json中增加:
"require-dev": {
&&& "way/generators": "~2.0"
放在“require”的下面。
运行 composer update,之后在 ./app/config/app.php 中增加配置:
'Way\Generators\GeneratorsServiceProvider'
安装完成过,在命令行中运行 php artisan,就可以看到这个插件带来的许多新的功能。
有人会问,为什么用了国内镜像还是如此之慢?其实composer在update的时候最慢的地方并不是下载,而是下载之前的依赖关系解析,由于Laravel依赖的composer包非常之多,PHP脚本的执行速度又比较慢,所以每次update等个两三分钟很正常,习惯就好。
3. 数据库建立及迁移
数据库配置文件位于 ./app/config/database.php,我们需要把“connections”中的“mysql”项改成我们需要的配置。下面是我的配置:
'mysql' =& array(
&'driver'&&& =& 'mysql',
&'host'&&&&& =& 'localhost',
&'database'& =& 'laravel',
&'username'& =& 'root',
&'password'& =& 'password',
&'charset'&& =& 'utf8',
&'collation' =& 'utf8_unicode_ci',
&'prefix'&&& =& 'l4_',
&prefix为表前缀,这个Laravel会帮我们自动维护,大胆写上不用担心。
这时候你需要去数据库建立此数据库,然后在命令行中输入:
php artisan migrate --package=cartalyst/sentry
执行完成后,你的数据库里就有了5张表,这是sentry自己建立的。sentry在Laravel4下的配置详情见 ,我大致说一下:
在 ./app/config/app.php 中 相应的位置 分别增加以下两行:
'Cartalyst\Sentry\SentryServiceProvider',
'Sentry' =& 'Cartalyst\Sentry\Facades\Laravel\Sentry',
权限系统的数据库配置到此为止。
我们的简单blog系统将会有两种元素,Article和Page,下面我们将创建articles和pages数据表,命令行运行:
php artisan migrate:make create_articles_table --create=articles
php artisan migrate:make create_pages_table --create=pages
这时候,去到 ./app/database/migrations,将会看到多出了两个文件,这就是数据库迁移文件,过一会我们将操作artisan将这两个文件描述的两张表变成数据库中真实的两张表,放心,一切都是自动的。
下面,在***_create_articles_table.php中修改:
Schema::create('articles', function(Blueprint $table)
&$table-&increments('id');
&$table-&string('title');
&$table-&string('slug')-&nullable();
&$table-&text('body')-&nullable();
&$table-&string('image')-&nullable();
&$table-&integer('user_id');
&$table-&timestamps();
在***_create_pages_table.php中修改:
Schema::create('pages', function(Blueprint $table)
&$table-&increments('id');
&$table-&string('title');
&$table-&string('slug')-&nullable();
&$table-&text('body')-&nullable();
&$table-&integer('user_id');
&$table-&timestamps();
下面,就是见证奇迹的时刻,在命令行中运行:
php artisan migrate
这时候数据库中的articles表和pages表就建立完成了。
4. 模型 Models
接下来我们将接触Laravel最为强大的部分,Eloquent ORM,真正提高生产力的地方,借用库克的话说一句,鹅妹子英!
我们在命令行运行下列语句以创建两个model:
php artisan generate:model article
php artisan generate:model page
这时候,在 ./app/models/ 下就出现了两个model文件。这两个类继承了Laravel提供的核心类 \Eloquent。
5. 数据库填充
分别运行下列命令:
php artisan generate:seed page
php artisan generate:seed article
这时,在 ./app/database/seeds/ 下就出现了两个新的文件,这就是我们的数据库填充文件。Laravel提供自动数据库填充,十分方便。
generator默认使用Faker\Factory作为随机数据生成器,所以我们需要安装这个composer包,地址是
,跟generator一起安装在 require-dev 中即可。具体安装请自行完成,可以参考Sentry和Generator,这是第一次练习。
接下来,分别更改这两个文件:
Article::create([
& 'title'&& =& $faker-&sentence($nbWords = 6),
& 'slug'&&& =& 'first-post',
& 'body'&&& =& $faker-&paragraph($nbSentences = 5),
& 'user_id' =& 1,
Page::create([
& 'title'&& =& $faker-&sentence($nbWords = 6),
& 'slug'&&& =& 'first-page',
& 'body'&&& =& $faker-&paragraph($nbSentences = 5),
& 'user_id' =& 1,
然后,我们需要在 DatabaseSeeder.php 中增加两行,让Laravel在seed的时候会带上我们新增的这两个seed文件。
$this-&call('ArticleTableSeeder');
$this-&call('PageTableSeeder');
下面就要真正的把数据填充进数据库了:
php artisan db:seed
操作完成以后去数据库看看,数据已经填充进去了,article和page各10行。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具laravel安装的时候太慢了怎么破? - 知乎24被浏览<strong class="NumberBoard-itemValue" title="分享邀请回答0添加评论分享收藏感谢收起为什么 Laravel 5 这么好一个框架,国人都不去用? - 知乎<strong class="NumberBoard-itemValue" title="被浏览<strong class="NumberBoard-itemValue" title="8,472分享邀请回答ASP.NET,Java 的 Spring,Objective-C 的 CocoaTouch(开始公司 iOS App 的开发工作)。很快就发现了 Ruby on Rails 和 Gem 包管理,被他们 ROR 的生态圈深深吸引。他们的设计哲学:强调与注重敏捷开发;约定高于配置(Convention over configuration);DRY(Don't repeat yourself)不要重复自己;「编程愉悦性」很重要。简直就是不能同意更多,站在 ROR 看 PHP 的生态圈,PHP 生态圈简直可以用「一盘散沙」来形容。PHP 拥有那么多的开发者,开发观念还是那么落后,大家各自为战,那么多的脑力,到最后都消耗在大量的重复性工作上,生产力严重浪费。在 2013 年底,准备完全切到 ROR 上, 2014 的新年愿望里有一条: ”找一份 ROR 工作“。2014 年 3 月份,接到一位朋友的邀请做创业公司的技术合伙人,开始给未来的团队选择技术堆栈,其实当时差不多可以决定后端选型,就是 ROR。唯一让我犹豫的是,ROR 用的是 Ruby,开发群体太小,作为技术合伙人,不得不考虑后面人才引入的问题。这个时候无意间发现了 Jeffrey Way 的 Laravel 视频教程,通过深入学习,以及对作者的了解,基本上可以定义:这就是 PHP 中的 ROR。不只是长得像 ROR,他的开发哲学(上面罗列出来的)也像 ROR。另外 Jeffrey Way 决定了完全投身 Laravel 的教育中,也加深了我对 Laravel 的信心。 是
的优秀讲师,几年的教学经历中,技术狩猎非常广,尤其是Web 开发上,写过将近 500 篇的教程。最后新公司的技术堆栈,选择了 Laravel,虽然那会 Laravel 还比较年轻(现在也很年轻,这里是 2016),但是 Laravel 有一个巨大优势,那就是基于 PHP ,PHP 开发者众多,潜力无限。凭着对 Laravel 的热爱,误打误撞中,回答了这个问题:其中
的评论引起了我构建一个社区的兴趣,当时也想做一个 Laravel 的练手项目,而对于使用 Discuz 开发过十来个项目的我,论坛软件是我的长项。那会做的是
,是我的第一个创业项目,最终项目因进展太慢而我最终退出。随后受邀加入了另一个项目。这两个项目中间刚好有空余的精力,经过一个多星期的编码, PHPHub
诞生了。扯了这么远,回到这个问题,随着 PHPHub 社区(后改名 Laravel China 社区)的诞生,以及随后的运营,慢慢的把 Laravel 在国内的推广开始做起来,无意中成为了 Laravel 在国内的布道者。经过这段时间的努力,很荣幸的告诉你,Laravel 在国内的很多东西我们都准备好了。我们有成熟的社区 ,我们有非常优秀的管理员团队 管理员,社区有
。我们翻译和维护了 Laravel 4.2~5.3 版本的中文文档
,并且文档都是由大家参与协作翻译
。 我们还为
开发了 iOS 和 安卓 App,并开源
。还有: 翻译了 Laravel 第一本书 —— Laravel 第二本书 —— Composer 福音 ——
前两天还上线了
,并且整站代码开源
。我们甚至还有文化衫
。线下聚会也开始进行,目前已经有 ,,:我想说的是,Laravel 在国内很快会火起来,之前要不是文档缺失,就是没有好的入门教程或者其他。现在已经一切具备了,赶快加入我们吧。让我们一起构建一个团结的社区、聪明、理智、有活力、有创造力的社区。让 Laravel 解放我们的生产力、解放我们的创造力。我希望 Laravel 会是我学习的最后一个框架。因为作为工匠,我更愿意把我有限的生命用在作品上,而不是对工具的无止境的学习上。S563添加评论分享收藏感谢收起16536 条评论分享收藏感谢收起新建搭建的laravel5访问速度慢,特别的慢。_百度知道
新建搭建的laravel5访问速度慢,特别的慢。
我费了好大的力气安装好了laravel5,访问public/下的文件开始事没有显示laravel5的字样,我在里面加了一行
echo __DIR__;的打印,才出来了。按照岁寒网站 http://segmentfault.com/a/4573
页面的搭建方式,终于做出来了,但是访问注册,登录的速...
我有更好的答案
有可能是dns反向解析的问题,你试试把dns反向解析禁用看有没有效果。编辑/etc/ssh/config
这个配置文件可能不完全一样,大体路径应该是这样,然后里面有一行#DNSservice=yes,把注释取消掉,并把yes改成no。重启sshd服务
service sshd restart
采纳率:67%
为您推荐:
其他类似问题
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。}

我要回帖

更多关于 高三能努力到什么程度 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信