乐于分享
好东西不私藏

古董苹果电脑系列—— Apple II软盘驱动器(Disk II)的诞生

古董苹果电脑系列—— Apple II软盘驱动器(Disk II)的诞生

这是关于Apple II软盘驱动器(Disk II)诞生历史的记录。

存储需求

到1977年12月,Apple II计算机已经上市约六个月了。大多数客户使用他们的电视机作为廉价的彩色显示器,并使用盒式录音机来存储和检索程序及数据。苹果的主要竞争对手是Radio Shack的TRS-80和康懋达(Commodore)的PET。这两家公司与苹果的产品一起,可以被视为第二代微型计算机;它们都是组装好的整机,开箱即可使用,都配有键盘和盒式磁带接口。TRS-80和PET甚至自带显示器和盒式录音机。Apple  II的优势在于可扩展性和图形处理能力,而其他两家的优势则在于价格(TRS-80和PET的售价都在600美元左右,仅为Apple II价格的一半)。1977年下半年,苹果对Apple II进行了一些改进,包括推出了第一版以盒式磁带形式发布的浮点BASIC(称为“Applesoft”),以及一张可插入主板插槽的打印机接口卡。

但Apple II仍然需要一些更具吸引力的东西,使其在TRS-80和PET之上脱颖而出。一个急需改进的领域是其基于盒式磁带的程序和数据存储及检索系统;这对许多用户来说一直是一个持续的使用痛点来源。TRS-80使用的盒式磁带系统虽然速度较慢,但比Apple II的更为复杂,允许使用文件名,并且在同一盘磁带上存储文件和数据更加方便。在Apple II上,要成功加载程序或数据,需要非常仔细地调整盒式录音机的音量和音调控制。Apple的盒式磁带系统还需要仔细注意程序在磁带上的存储位置,其准确性仅相当于录音机机械计数器上的数字(如果有的话)。

软盘驱动器

IBM工程师于1971年发明了8英寸软盘,随后的两年内,逐渐将其容量从80K提升到近240K。IBM的一位经理艾伦·舒加特(Alan Shugart)离开该公司,并于1973年成立了自己的公司。1976年,一家制造S-100计算机的公司向舒加特联合公司(Shugart Associates)的一位工程师发起挑战,要求制造一种更小尺寸的软盘,以更适合微型计算机的尺寸。建议的磁盘尺寸大约与一张餐巾纸相当,即5.25英寸。它足够小,便于携带,但又足够大,不会被放进口袋(从而避免被弄弯)。

该公司随后在同年设计并推出了SA400“迷你软盘”驱动器,格式化容量为90K。这些设备在20世纪70年代中期销售的各种微型计算机用户中变得很受欢迎。尽管比盒式磁带存储昂贵得多,但软盘提供了更大的便利性和灵活性。

苹果公司总裁迈克·马库拉(Mike Markkula)就是一位对盒式磁带存储不满意的Apple II用户。他有一款喜爱的记账程序,但读取磁带上的程序需要两分钟,读取支票文件又需要两分钟。因此,在1977年12月举行的董事会会议上,他列出了公司的目标。列表的首位就是“软盘”。虽然沃兹尼亚克对软盘如何工作知之甚少,但他曾经翻阅过舒加特联合公司的一本手册。

作为一项实验,沃兹构思了一种电路,这种电路可以实现舒加特手册中提到的控制磁盘驱动器所需的大部分功能。沃兹不知道计算机实际上是如何控制驱动器的,但他的方法在他看来特别简单且巧妙。当马库拉挑战他为Apple添加磁盘驱动器时,他想起了那个电路,并开始考虑其实现的可行性。他研究了其他计算机公司——包括IBM——是如何控制驱动器的。他还开始研究磁盘驱动器——特别是North Star公司的。阅读了North Star的手册后,沃兹知道他的电路可以做到他们能做到的,甚至更多。他知道自己真的设计出了一种巧妙的方案。

沃兹尼亚克必须处理的其他问题包括如何正确地对读写磁盘信息进行定时。IBM使用了一种基于硬件的复杂电路来实现这种同步。沃兹尼亚克在研究了IBM驱动器的工作原理后,意识到如果以不同的方式将数据写入磁盘,所有那些电路都是不需要的。当时销售的许多软盘都是“硬分段”的,这意味着在磁盘靠近中心环的地方打有一个孔。磁盘驱动器硬件利用这个孔来识别在任何特定时间磁盘的哪个部分正经过读/写磁头下方。沃兹尼亚克的技术将允许驱动器进行自我同步(“软分段”),不需要处理那个小的定时孔,并节省了硬件成本。

史蒂夫·乔布斯曾定期访问舒加特办公室,坚持要求提供一款廉价的100美元磁盘驱动器。在沃兹尼亚克弄清楚如何控制磁盘驱动器的细节后,乔布斯回来并表示,他不仅想要一款廉价的磁盘驱动器,还想要仅仅只有机械部分;不需要读/写电子元件,不需要磁头加载螺线管,不需要零磁道传感器,也不需要索引孔传感器。舒加特的工程师对这一要求感到困惑,但同意给乔布斯他想要的驱动器。舒加特将这些简化的驱动器命名为“SA390”(低于标准的SA400),并向苹果提供了25台这些“原型”SA390驱动器,供其为Apple II开发磁盘驱动器解决方案。

在设计其磁盘接口卡时,沃兹尼亚克首先使用带有标准控制电子元件的SA400驱动器进行工作。然后他又进行了进一步的修改,成功地在没有那些额外电子元件的情况下控制了驱动器。当沃兹尼亚克开始尝试一些SA390驱动器时,他发现大多数都能工作,尽管有几个需要调整。然而,他们发现有些SA390驱动器根本无法工作,苹果工程师克里夫·哈斯顿(Cliff Huston)通过优化模拟电子元件并创建了一系列程序,解决了这一问题,使得在生产线上对驱动器进行调整成为可能。当苹果的代表回到舒加特公司,订购更多SA390驱动器以苹果品牌销售时,舒加特的一位工程师承认了一个骗局。提供给苹果的原型驱动器实际上来自一堆坏掉的SA400驱动器。他们曾预计苹果的工程师将无法让这些驱动器工作,出于沮丧,最终会回来购买更昂贵的SA400驱动器。当第一批Disk II驱动器下线时,第一台驱动器被授予了克里夫·哈斯顿,以表彰他在让SA390驱动器工作方面所做的贡献。第二台驱动器被授予了工程师温德尔·桑德(Wendell Sander),他发现并纠正了控制器状态机中的一个定时错误。

软件与硬件

沃兹尼亚克请兰迪·威金顿(Randy Wigginton)帮忙编写一些控制磁盘驱动器的软件。在1977年圣诞节假期的一周里,他们夜以继日地工作,创建了一个基本的磁盘操作系统,努力让驱动器准备好在1978年第一周的消费电子展(Consumer Electronics Show)上进行演示。他们的系统允许输入单字母命令,从磁盘上的固定位置读取文件。然而,甚至这个简单的系统在沃兹尼亚克和威金顿动身前往展会时都还没有完全正常工作。他们到达拉斯维加斯后,帮忙布置了展位,然后又回去继续研究磁盘驱动器。他们熬了一整夜,到早上六点时,他们有了一个可以运行的演示磁盘。兰迪建议制作一张磁盘的备份,以防万一出问题。他们逐轨复制了磁盘。完成后,他们发现他们把空白磁盘复制到了他们正在工作的演示盘上!到早上7:30,他们恢复了丢失的信息,并继续在展会上展示了新的磁盘驱动器。

消费电子展结束后,沃兹尼亚克着手完成Disk II的设计。他在磁盘控制器上的最初任务是减少芯片数量,S-100机器的控制器使用了40个芯片。使用这么多芯片既昂贵,而且对于Apple II的机箱来说也太大了。在重新设计中,他决定使用一个单8位ROM来跟踪并响应磁盘控制器在解码从磁盘读取的比特流时不断变化的状态。这一概念消除了标准SA400控制器上使用的十几个芯片。除此之外,他又进行了额外的设计更改,将总芯片数减少到只有9个。这后来进一步减少到8个,因为两个555定时器被一个单一的556定时器所取代。在磁盘驱动器本身上,沃兹尼亚克对数据记录在磁盘上的方式进行了修改。他将FM编码从每磁道9个扇区增加到每磁道10个扇区,这使得磁盘的存储量增加了11%。然后,在想出一种完全不同的技术后,他放弃了FM编码方案,转而采用一种群码记录(GCR)方法。这在不增加实际写入磁盘的比特数的情况下进一步提高了存储密度,使他能够将每磁道的扇区数增加到13个,从而使每张磁盘的存储量增加了近45%。为了实现这一点,有必要创建一个查找表并使用一些巧妙的编程技巧,但沃兹尼亚克过去经常这样做以减少芯片数量(例如,Apple II奇特的文本和图形视频屏幕寻址系统)。

Apple II计算机DISK II软驱控制器

两周来,他每天深夜工作,以完成一个令人满意的设计。完成后,他发现如果移动一个连接器,他可以减少馈通(feedthroughs),使电路板更可靠。然而,为了进行这个移动,他不得不在设计上从头再来。这次只花了二十个小时。然后他又发现另一个可以消除的馈通,于是再次重新开始设计。“最终的设计被计算机工程师普遍认为是杰出的,在工程美学上是完美的。沃兹后来曾说:‘这只有当你既是工程师又是PCB布局人员时才能做到。那是一种艺术性的布局。这块电路板实际上没有任何馈通。’”

销售价格

Disk II最终于1978年7月推出,搭载了DOS的第一个完整版本3.1。如果你在苹果有货之前预订,其 introductory price(介绍性价格/首发价格)为495美元(包括控制器卡);否则,价格将为595美元。然而,即使在这个价格上,它也是计算机公司销售过的最便宜的软盘驱动器。苹果早期的生产仅由两个人处理,他们每天生产约30台驱动器。由于苹果创建了用于管理和访问磁盘的定制硬件和软件,它们的格式化容量为113K,比舒加特提供的容量多出23K。最初随沃兹的磁盘控制器销售的驱动器来自舒加特。在Disk II推出的几年内,为了进一步降低成本,他们后来联系了日本的阿尔卑斯电气公司(Alps Electric Company),要求他们设计一款更便宜的克隆版本。

据弗兰克·罗斯(Frank Rose)在他的《伊甸园以西》(West Of Eden)一书中写道:“最终的产品Disk II,其利润几乎是不合理的:用大约140美元的零件(在转用阿尔卑斯公司零件后为80美元),苹果可以将一个磁盘驱动器和一个磁盘控制器打包在一个盒子里,零售价高达495美元。更妙的是Disk II对计算机销售的影响,因为它突然将Apple II从一种只有硬核爱好者才会想要的小工具,转变成了各种各样的人都能使用的设备。很少有局外人意识到,在战略层面上,沃兹发明磁盘控制器对公司的重要性,与他发明计算机本身一样重要。”

(注:以上内容来自网络,本人翻译编辑整理,如有侵权联系删除)
基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-04-27 00:02:41 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/561977.html
  2. 运行时间 : 0.141850s [ 吞吐率:7.05req/s ] 内存消耗:4,677.49kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=8e55ce2ee705b773557f10b91a402755
  1. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_static.php ( 6.05 KB )
  7. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/ralouphie/getallheaders/src/getallheaders.php ( 1.60 KB )
  10. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  11. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  12. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  13. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  14. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  15. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  16. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  17. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  18. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  19. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions_include.php ( 0.16 KB )
  21. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions.php ( 5.54 KB )
  22. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  23. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  24. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  25. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/provider.php ( 0.19 KB )
  26. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  27. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  28. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  29. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/common.php ( 0.03 KB )
  30. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  32. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/alipay.php ( 3.59 KB )
  33. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  34. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/app.php ( 0.95 KB )
  35. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cache.php ( 0.78 KB )
  36. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/console.php ( 0.23 KB )
  37. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cookie.php ( 0.56 KB )
  38. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/database.php ( 2.48 KB )
  39. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/filesystem.php ( 0.61 KB )
  40. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/lang.php ( 0.91 KB )
  41. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/log.php ( 1.35 KB )
  42. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/middleware.php ( 0.19 KB )
  43. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/route.php ( 1.89 KB )
  44. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/session.php ( 0.57 KB )
  45. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/trace.php ( 0.34 KB )
  46. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/view.php ( 0.82 KB )
  47. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/event.php ( 0.25 KB )
  48. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  49. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/service.php ( 0.13 KB )
  50. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/AppService.php ( 0.26 KB )
  51. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  52. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  53. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  54. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  55. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  56. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/services.php ( 0.14 KB )
  57. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  58. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  59. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  60. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  61. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  62. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  63. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  64. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  65. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  66. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  67. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  68. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  69. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  70. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  71. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  72. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  73. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  74. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  75. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  76. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  77. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  78. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  79. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  80. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  81. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  82. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  83. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  84. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  85. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  86. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  87. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/Request.php ( 0.09 KB )
  88. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  89. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/middleware.php ( 0.25 KB )
  90. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  91. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  92. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  93. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  94. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  95. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  96. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  97. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  98. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  99. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  100. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  101. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  102. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  103. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/route/app.php ( 3.94 KB )
  104. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  105. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  106. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Index.php ( 9.87 KB )
  108. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/BaseController.php ( 2.05 KB )
  109. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  110. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  111. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  112. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  113. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  114. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  115. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  116. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  117. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  118. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  119. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  120. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  121. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  122. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  123. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  124. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  125. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  126. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  127. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  128. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  129. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  130. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  131. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  132. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  133. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  134. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  135. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Es.php ( 3.30 KB )
  136. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  137. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  138. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  139. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  140. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  141. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  142. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  143. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  144. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/runtime/temp/c935550e3e8a3a4c27dd94e439343fdf.php ( 31.50 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000401s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000633s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000327s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000260s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000582s ]
  6. SELECT * FROM `set` [ RunTime:0.013921s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000779s ]
  8. SELECT * FROM `article` WHERE `id` = 561977 LIMIT 1 [ RunTime:0.001095s ]
  9. UPDATE `article` SET `lasttime` = 1777219361 WHERE `id` = 561977 [ RunTime:0.002812s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000388s ]
  11. SELECT * FROM `article` WHERE `id` < 561977 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.003990s ]
  12. SELECT * FROM `article` WHERE `id` > 561977 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.002700s ]
  13. SELECT * FROM `article` WHERE `id` < 561977 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.010644s ]
  14. SELECT * FROM `article` WHERE `id` < 561977 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.008779s ]
  15. SELECT * FROM `article` WHERE `id` < 561977 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.013690s ]
0.143602s