場景:
自已寫的框架如:ThinkMan,有一個(gè)自定義的加載類Autoloader.php 用來加載ThinkMan的,
站點(diǎn)入口文件index.php 通常是引入ThinkMan的 Autoloader.php來完成功能;
在沒有使用Workerman之前,一切正常,
為了體驗(yàn)強(qiáng)大的Workerman,在ThinkMan下通過composer引入workerman,
啟動腳本start.php正常啟動,端口正常.
問題:
使用WebServer后,所有的站點(diǎn)頁面只顯示一次,刷新后就變成空白,
測試后發(fā)現(xiàn)是加載ThinkMan下的Autoloader.php導(dǎo)致的。
如果不引入Autoloader.php單獨(dú)使用ThinkMan下的類功能是正常的,頁面也能正常顯示,刷新不空白
那么請問,我是哪里出了問題呢?
Autoloader.php:
class Autoloader{
protected static $classMap = array();
public static function load($class){
$class_file = str_replace('\\','/',dirname(__DIR__).'/'.$class.'.php');
if(!isset(self::$classMap)){
if(file_exists($class_file)){
require_once $class_file;
self::$classMap = $class;
return true;
}else{
return false;
}
}else{
return true;
}
}
}
spl_autoload_register('\ThinkMan\Autoloader::load');
感謝@walkor ,
花了兩三天時(shí)間才查出是wm的Worker::runAll() 與自身框架執(zhí)行順序的問題
另外請教一個(gè)問題:
如何在不使用如memcache來存儲傳遞$_SESSION的情況下徹底銷毀$_SESSION?
如在退出登錄時(shí):unset($_SESSION)后在當(dāng)前頁面$_SESSION是被清為空了
但在其它頁面依然能訪問到$_SESSION值。
感謝@walkor
$_SESSION的問題已經(jīng)想辦法解決了
另外碰到一個(gè)上傳的問題,如同一個(gè)form表單下有兩個(gè)或多個(gè)上傳控件:
<form method="post" enctype="multipart/form-data" action="...">
<input type="file" name="file1" />
<input type="file" name="file2" />
<button type="submit">上傳</button>
</form>
當(dāng)提交后后臺只能拿到最后個(gè)input的值
var_export($_FILES)也只能拿到最后一條數(shù)據(jù)
是表單設(shè)計(jì)有相應(yīng)的規(guī)則嗎還是哪里的問題?
謝謝,
但還是出了個(gè)小問題
用composer update 顯示更新到3.4.4成功,但問題依然存在,
后面從官網(wǎng)下載直接覆蓋才解決了