使用 Swoole 来加速你的 Laravel 应用
为什么要在 Swoole 上运行 Laravel?下图展示了 PHP 的生命周期。正如你所看到的那样,当你每次运行 PHP 脚本的时候,PHP 都需要初始化模块并为你的运行环境启动 Zend 引擎。并且将 PHP 脚本编译为 OpCodes 以便 Zend 引擎执行。 但是, 这样的生命周期需要在每次请求的时候都执行一遍。因为单个请求创建的环境在请求执行结束后会立即销毁。 换句话说, 在传统的 PHP 生命周期中, 为了脚本执行而浪费了大量的时间去创建和销毁资源。想象一下像 Laravel 这样的框架, 在每次请求中需要加载多少文件?同时也浪费了大量的 I/O 操作 因此如果我们利用 Swoole 内置一个应用级别的 Server, 并且所有脚本文件在加载一次之后便可以保存在内存中呢? 这就是为什么我们需要尝试在 Swoole 上运行 Laravel。 Swoole 可以提供强大性能而 Laravel 则可以提供优雅代码结构使用。这俩儿真是完美组合! 安装以下是
使用 Composer 安装: $ composer require swooletw/laravel-swoole ?这个包依赖于 Swoole?。在使用这个包之前,请确保你的机器安装了正确的 Swoole 。使用下面的命令快速安装(linux): pecl install swoole ?在安装这个扩展之后,你需要编辑 php.ini 添加 ? php -i | grep php.ini # check the php.ini file location sudo echo "extension=swoole.so" >> php.ini # add the extension=swoole.so to the end of php.ini php -m | grep swoole # check if the swoole extension has been enabled ?
然后,添加服务提供者: 如果你使用?Laravel ,在? [ ‘providers‘ => [ SwooleTWHttpLaravelServiceProvider::class,],] ? 建立并运行起来现在,你可以执行以下的命令来启动 Swoole HTTP 服务。 $ php artisan swoole:http start ?然后你可以看到以下信息: Starting swoole http server... Swoole http server started: <http://127.0.0.1:1215> ?现在可以通过访问? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |