在workerman项目开发的过程中,要用到web开发,想把web跟workerman整合在一起,所以就起了个webserver,
$webserver = new WebServer('http://0.0.0.0:80');
$webserver->addRoot('localhost', __DIR__ . '/web');
$webserver->count = 10;
在web目录下,我用了smarty模板引擎,但是总是时不时的报assign函数或者display函数不存在,如下图所示:
实际上函数在使用前已经引用了smarty,这个错误还不是一直报,偶尔有,偶尔没有,而且有时一直刷新页面,页面直接打不开了,求教这是什么原因。。。。
测试发现,报这种错,都是不停的刷新页面时才发生的。。。。
不是webserver稳定性不好,是因为workerman是长驻内存的,和普通web的php运行模式不一样,如果还是以传统web模式开发就会有问题。比如函数、类重定义问题,require_once include_once文件加载一次就不再加载等。
workerman中不建议使用smarty,smarty是真对web开发模式的,可能不兼容php cli的运行模式。
web用nginx php-fpm跑web更好一些,兼容各种mvc框架以及模版引擎。
这老哥没理解好php+apache/nginx的运行原理
是啊,能否给解答下?
提问的哥们。。你都用workerman了还丢不掉smarty???
既然想渲染模板为什么不用YII,CI,TP之类的框架。。
你这问题是因为start的时候会把所有文件加入内存中,这样就不需要其他进程在引入,建议入口文件全部load文件