Ce qui suit est le code après un débogage et une configuration réussis. Pour faciliter l'apprentissage de chacun et gagner du temps de recherche à chacun, je le partage ici.
1. Activer la requête httpServer
Vous pouvez créer un répertoire de serveur dans le répertoire thinkphp et y créer un http_server.php
2 Faites quelques choses dans http_server.php
1 Configurez les fichiers de ressources statiques
//配置静态文件 http://www.live-swoole.com:8811/ $http->set( [ 'enable_static_handler' =>true, //true则,底层收到Http请求会先判断document_root路径下是否存在此文件,如果存在会直接发送文件内容给客户端,不再触发onRequest回调 'document_root' => '/var/www/html/thinkphp5/public/static' , //默认静态资源文件存放目录 'worker_num' => 5, ] );
. 2. Le framework thinkphp est chargé au démarrage du processus swoole
$http->on('WorkerStart',function(swoole_server $serv,$worker_id){ // 定义应用目录 define('APP_PATH', __DIR__ . '/../application/'); // 加载框架里面的文件 require __DIR__ . '/../thinkphp/base.php'; });
3 Parce que les paramètres reçus par swoole sont différents de ceux reçus dans thinkphp, ils doivent être convertis en ceux qui peuvent être reconnus par thinkphp. des paramètres POST convertis sont les suivants :
$_POST = [];解决swoole对全局变量不会自动注销 if(isset($request->post)){ foreach ($request->post as $k => $v) { $_POST[$k] = $v; } }
4. Résoudre tous les problèmes L'accès au routage affiche les informations de chemin lors du premier accès
Trouvez le fichier thinkphp/library/think/Request.php
if (is_null($this- >path)) {} dans le chemin de la fonction. Commentez ou supprimez le contenu à l'intérieur. Déplacez la fonction
if (is_null($this->pathinfo)) {} commentez ou supprimez le contenu à l'intérieur sans déplacer
Fin ! Si vous avez des questions, veuillez laisser un message en ligne pour communiquer
Il est vraiment 666