我正在使用PHP框架laravel,刚刚购买了CDN服务器的计划。
我想知道有没有人或建议将一些laravel的核心文件移到CDN上以减少加载时间?
答案 0 :(得分:0)
将Laravel核心文件移动到CDN将增加,而不是减少,即加载时间。考虑一下 - 您的服务器需要获取网络上的所有PHP脚本,每个文件一个请求,这相当于大量的数据。 PHP fopen包装器也不支持缓存,因此通过这样做你将失去CDN的主要好处。
如果你真的想减少磁盘I / O(听起来这是你想要实现的),可以考虑一个操作码缓存(memcache,eAccelerator)。这将您的PHP代码缓存在其执行前编译形式的RAM中,这样您就可以在大多数请求中安全地将解释步骤抛出循环,从而加快页面加载速度。
或者切换到PHP5.5,虽然还没有准备好,因为它内置了操作码缓存。
答案 1 :(得分:0)
这是Laravel的CDN资产管理器包,默认情况下支持Amazon S3。
<强> https://github.com/Vinelab/cdn 强>
{
"require": {
"vinelab/cdn": "*"
}
'credentials' => [
'key' => '',
'secret' => '',
],
'buckets' => [
'bucket-name-here' => '*',
]
'include' => [
'directories' => ['public/dist'],
'extensions' => ['.js', '.css', '.yxz'],
'patterns' => ['**/*.coffee'],
],
'exclude' => [
'directories' => ['public/uploads'],
'files' => [''],
'extensions' => ['.TODO', '.txt'],
'patterns' => ['src/*', '.idea/*'],
'hidden' => true, // ignore hidden files
],
运行此artisan命令将资源推送到CDN。
php artisan cdn:push
在您的视图或代码中的任何其他位置使用以下内容:
{{Cdn :: asset('public / assets / js / script.js')}}
{{Cdn :: asset('public / assets / css / main.css')}}