我使用Windows10(WSL2)。我的硬件是:
intel(r)core(tm)i7-9750h cpu@2.60ghz 2.60ghz ram 8.00gb ssd
实际上,如果你有兴趣,这是一款游戏笔记本电脑(msi gl 65 95ck)。
我决定安装laravel,查阅文档并实施了描述的步骤:
在wsl终端中(我使用ubuntu)
curl -s "https://laravel.build/example-app?with=mysql,redis" | bash cd example-app && /vendor/bin/sail up
我打开浏览器,发现主页几乎花了1秒才呈现出来!有时甚至两秒钟!
我想,“好吧,也许框架处于未优化的模式。调试等”,并决定转向 APP_DEBUG
在里面 .env
到 false
. 我还删除了所有路线,改为: Route::get('/', [\App\Http\Controllers\TestController::class, 'test']);
在此之前,我创建了 TestController
:
class TestController extends Controller
{
public function test() {
return response()->json([
'name' => 'Abigail',
'state' => 'CA',
]);
}
}
然后我就跑 php artisan optimaze
,在浏览器中打开 http://localhost/api
结果是一个巨大的悲哀:
为什么是800毫秒?我什么也没做。好的,我决定把这个名字重命名 index.php
归档 public
文件夹到 index2
例如,放一个新的 index.php
使用阵列打印只是为了测试这是一个laravel问题还是一个基础设施问题。
新的 index.php
:
好多了!然后我想,“让我们与另一个框架进行比较,例如.NETCore”。我做了一个非常简单的WebAPI项目。控制器:
namespace MockWebApi.Controllers
{
[ApiController]
[Route("")]
public class MainController : ControllerBase
{
[Route("test")]
public IActionResult Test()
{
return Ok(new
{
Test = "hello world!!!"
});
}
}
}
结果是:
好的,你可以说这是一种编译语言。我决定使用node.js和express进行检查:
代码:
router.get('/', function(req, res, next) {
res.json({"test": "123"})
});
结果:
如您所见,在本例中,node的速度与c#一样快。
那么,拉拉维尔怎么了?我在安装过程中遗漏了什么吗?
更新
我没有帆就扬起了拉威尔。我的docker撰写文件:
version: '3'
services:
php-fpm:
build:
context: docker/php-fpm
volumes:
- ./:/var/www
networks:
- internal
nginx:
build:
context: docker/nginx
volumes:
- ./:/var/www
ports:
- "80:80"
depends_on:
- php-fpm
networks:
- internal
networks:
internal:
driver: bridge
nginx dockerfile:
FROM nginx
ADD ./default.conf /etc/nginx/conf.d/default.conf
WORKDIR /var/www
nginx配置:
server {
listen 80;
index index.php;
server_name 127.0.0.1 localhost;
root /var/www/public;
location / {
try_files $uri /index.php?$args;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass php-fpm:9000;
fastcgi_index index.php;
fastcgi_read_timeout 1000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
php fpm dockerfile:
FROM php:7.4-fpm
RUN apt-get update && apt-get install -y wget git unzip \
&& apt-get install libpq-dev -y
RUN wget https://getcomposer.org/installer -O - -q \
| php -- --install-dir=/bin --filename=composer --quiet
RUN groupadd -r -g 1000 developer && useradd -r -u 1000 -g developer developer
USER developer
WORKDIR /var/www
我的表现没有得到任何改善(
暂无答案!
目前还没有任何答案,快来回答吧!