大佬能说下为什么删除这个组件呢,另外有没有什么替代的组件可以使用,低端萌新求解答
降到低版本
后面会单独出一个增强版的mvc框架。 如果你现在需要可以自己写个,代码类似如下:
<?php use \Workerman\Worker; use Workerman\Protocols\Http\Request; use Workerman\Protocols\Http\Response; use Workerman\Connection\TcpConnection; require_once __DIR__ . '/vendor/autoload.php'; $web = new Worker("http://0.0.0.0:9988"); // 网站根目录,假设在web下 define('WEBROOT', __DIR__ . DIRECTORY_SEPARATOR . 'web'); $web->onMessage = function (TcpConnection $connection, Request $request) { $path = $request->path(); if ($path === '/') { $connection->send(exec_php_file(WEBROOT.'/index.html')); return; } $file = realpath(WEBROOT. $path); if (false === $file) { $connection->send(new Response(404, array(), '<h3>404 Not Found</h3>')); return; } // Security check! Very important!!! if (strpos($file, WEBROOT) !== 0) { $connection->send(new Response(400)); return; } if (\pathinfo($file, PATHINFO_EXTENSION) === 'php') { $connection->send(exec_php_file($file)); return; } if (!empty($if_modified_since = $request->header('if-modified-since'))) { // Check 304. $info = \stat($file); $modified_time = $info ? \date('D, d M Y H:i:s', $info['mtime']) . ' ' . \date_default_timezone_get() : ''; if ($modified_time === $if_modified_since) { $connection->send(new Response(304)); return; } } $connection->send((new Response())->withFile($file)); }; function exec_php_file($file) { \ob_start(); // Try to include php file. try { include $file; } catch (\Exception $e) { echo $e; } return \ob_get_clean(); } // 如果不是在根目录启动,则运行runAll方法 if(!defined('GLOBAL_START')) { Worker::runAll(); }
谢谢大佬的回复,我现在也在之前的webserver的源码,非常感谢
降到低版本
后面会单独出一个增强版的mvc框架。
如果你现在需要可以自己写个,代码类似如下:
谢谢大佬的回复,我现在也在之前的webserver的源码,非常感谢