logo DeskConnection Lab
  • Home
  • Monitor Connections
  • Docking Stations
  • USB & Cables
  • Keyboard & Mouse
  • Audio & Webcam
  • Home
  • Monitor Connections
  • Docking Stations
  • USB & Cables
  • Keyboard & Mouse
  • Audio & Webcam
  1. Home
  2. /
  3. Share a keyboard through software across PCs
Keyboard & Mouse

Share a keyboard through software across PCs

    DeskConnection Lab Editorial Team

A different approach from device pairing

TechRadar describes software that lets one keyboard and mouse control several computers, each with its own screen. This differs from extending one PC's desktop and from selecting a Bluetooth slot on the keyboard. Some applications switch when the cursor crosses a screen edge, while others use a hotkey to transfer control.

Check network and platform support

The article discusses Mouse Without Borders, including its PowerToys availability, and other software options with different platform support. Such tools generally need a working shared network and can become unreliable on restricted or unstable Wi-Fi. Clipboard or file-sharing features also vary. Check those requirements before assuming a keyboard can control every nearby computer without additional setup, software or permission on the receiving systems.

Plan software input sharing across separate computers
Original editorial diagram: Plan software input sharing across separate computers.

Arrange the software layout to match the physical screens

The source describes server-and-client arrangements and a grid defining which display edge transfers control to the other computer. Configure that map to match the desk so cursor movement is predictable. A hotkey route can be useful when crossing a screen boundary is inconvenient, but the user still needs to recognize which computer currently receives input. Clipboard and file-transfer behavior differs between products; a supported copy-and-paste operation should not be assumed to establish unrestricted drag-and-drop between every application on both machines.

Evaluate software sharing against the actual environment

Mouse Without Borders is described as a Windows option, while the article discusses Synergy and DeskFlow for other desktop platforms as well. Check current support and the network arrangement before choosing one. Public or restricted networks can prevent peer discovery even when both computers have internet access. A software bridge also depends on its participating computers and connection remaining available. Compare those requirements with a hardware switch or a keyboard's built-in device slots when reliability, platform support or the ability to install software is the deciding constraint.

Distinguish input sharing from extending a single computer's desktop

The article's main arrangement uses two computers, each with its own display, while one keyboard and mouse control them. That differs from adding a second monitor to one PC, even if moving the pointer between screens feels similar. The applications and work remain on separate machines. Some products add other capabilities, such as clipboard sharing, file transfer, remote display, or audio routing, but those vary by application and edition. Define which of these jobs is actually needed before choosing software. A tool that moves the pointer successfully may still lack the particular file-handling or screen-sharing behavior that a user expected from the broader term KVM.

Multi-computer desk features are distinct
Original editorial diagram: Multi-computer desk features are distinct.

Lay out the computer positions in the software

The source describes tools that let the user specify whether another computer is reached through the left, right, top, or bottom edge of a display. That software arrangement should reflect the physical positions on the desk so movement feels understandable. A hotkey-based switch is another option, with the article noting that the new cursor position can require a moment of reorientation. Test the chosen method with ordinary pointer movement before making it part of a demanding workflow. Also check the server and client roles: some programs use the input devices attached to the controlling machine and do not provide identical switching behavior from every attached laptop's own pointer.

Check platform and network conditions before comparing prices

The article separates Windows-only options from programs supporting Windows, macOS, and Linux. It also identifies a shared network as a common requirement and notes that public networks can prevent the required peer connections. A weak or interrupted wireless connection can affect the experience, so software cannot be evaluated independently of that environment. Use current product documentation to confirm supported systems, encryption, feature limits, and licensing, since the source's prices and editions describe a publication snapshot. The strongest match is the program that covers the actual computer combination and sharing tasks on the available network, with the physical screen arrangement and everyday switching method tested in advance.

References

  1. The clever software I use to control two PCs with one keyboard. TechRadar; Ross Rubin.

TechRadar describes software that lets one keyboard and mouse control several computers, each with its own screen. This differs from extending one PC's desktop and from selecting a Bluetooth slot on the keyboard. Some applications switch when the cursor crosses a screen edge, while others use a hotkey to transfer control.


  • Share This Post:

Leave a Comment

Post Comment
Please log in to leave a comment.

Comments (0)

Load More Comments

Follow Us

  • Facebook
  • Twitter
  • Youtube
  • Instagram

Recommended

  • Select a POP Mouse Channel Before Bluetooth Discovery

    Select a POP Mouse Channel Before Bluetooth Discovery

  • Add or Remove a Bolt Mouse Through Logi Options+

    Add or Remove a Bolt Mouse Through Logi Options+

  • Evaluate the Superlight 2 Dex beyond its 8K rate

    Evaluate the Superlight 2 Dex beyond its 8K rate

  • Test whether 8K polling improves the games you play

    Test whether 8K polling improves the games you play

  • Put mouse polling intervals in context

    Put mouse polling intervals in context

  • Use the M3 Mini V2 8K as a connection example

    Use the M3 Mini V2 8K as a connection example

  • Choose between the G309's two wireless modes

    Choose between the G309's two wireless modes

  • Check the exact Ugreen M571 wireless version

    Check the exact Ugreen M571 wireless version

  • Switch supported ergonomic mice between PCs

    Switch supported ergonomic mice between PCs

  • Set up a mouse without a dedicated receiver

    Set up a mouse without a dedicated receiver

  • Install Craft Application Profiles After Connecting the Keyboard

    Install Craft Application Profiles After Connecting the Keyboard

  • Zone Wireless Plus Can Also Pair Unifying Input Devices

    Zone Wireless Plus Can Also Pair Unifying Input Devices

  • Enter a Universal Folio Pairing PIN on the Keyboard

    Enter a Universal Folio Pairing PIN on the Keyboard

  • Verify a Bolt Keyboard When Pairing It in Options+

    Verify a Bolt Keyboard When Pairing It in Options+

  • Use the On-Screen Keyboard to inspect input

    Use the On-Screen Keyboard to inspect input

  • Use Windows shortcuts when changing input layouts

    Use Windows shortcuts when changing input layouts

  • Switch active layouts with the language controls

    Switch active layouts with the language controls

  • Review the default input language used by Office

    Review the default input language used by Office

  • Keep keyboard layout and display language separate

    Keep keyboard layout and display language separate

  • Check a Surface mouse or keyboard before replacing it

    Check a Surface mouse or keyboard before replacing it

DeskConnection Lab

Your daily source for the latest in venture, startups, AI, security and tech — curated news, deep dives and analysis.

Explore

  • Home
  • Monitor Connections
  • Docking Stations
  • USB & Cables
  • Keyboard & Mouse
  • Audio & Webcam

Legal

  • Privacy Policy
  • Contact Us
  • About Us
  • Disclaimer
  • Terms of Service

© 2026 DeskConnection Lab. All rights reserved.

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-10-28 10:45:33 HTTP/1.1 GET : https://deskconnectionlab.com/news/55645/share-a-keyboard-through-software-across-pcs
  2. 运行时间 : 0.061980s [ 吞吐率:16.13req/s ] 内存消耗:7,394.97kb 文件加载:178
  3. 缓存信息 : 0 reads,0 writes
  1. /www/wwwroot/zmCms/my-cms/public/index.php ( 3.09 KB )
  2. /www/wwwroot/zmCms/my-cms/vendor/autoload.php ( 0.73 KB )
  3. /www/wwwroot/zmCms/my-cms/vendor/composer/autoload_real.php ( 1.63 KB )
  4. /www/wwwroot/zmCms/my-cms/vendor/composer/platform_check.php ( 0.90 KB )
  5. /www/wwwroot/zmCms/my-cms/vendor/composer/ClassLoader.php ( 15.99 KB )
  6. /www/wwwroot/zmCms/my-cms/vendor/composer/autoload_static.php ( 5.01 KB )
  7. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /www/wwwroot/zmCms/my-cms/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  14. /www/wwwroot/zmCms/my-cms/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  15. /www/wwwroot/zmCms/my-cms/vendor/symfony/var-dumper/Resources/functions/dump.php ( 0.99 KB )
  16. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  17. /www/wwwroot/zmCms/my-cms/vendor/symfony/var-dumper/VarDumper.php ( 3.73 KB )
  18. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  19. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  20. /www/wwwroot/zmCms/my-cms/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  21. /www/wwwroot/zmCms/my-cms/app/provider.php ( 0.19 KB )
  22. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/Http.php ( 6.22 KB )
  23. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  24. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  25. /www/wwwroot/zmCms/my-cms/app/common.php ( 0.22 KB )
  26. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/helper.php ( 18.77 KB )
  27. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/Config.php ( 5.93 KB )
  28. /www/wwwroot/zmCms/my-cms/config/app.php ( 1.11 KB )
  29. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  30. /www/wwwroot/zmCms/my-cms/config/cache.php ( 1.95 KB )
  31. /www/wwwroot/zmCms/my-cms/config/console.php ( 0.47 KB )
  32. /www/wwwroot/zmCms/my-cms/config/cookie.php ( 0.56 KB )
  33. /www/wwwroot/zmCms/my-cms/config/database.php ( 2.13 KB )
  34. /www/wwwroot/zmCms/my-cms/config/filesystem.php ( 0.61 KB )
  35. /www/wwwroot/zmCms/my-cms/config/lang.php ( 0.91 KB )
  36. /www/wwwroot/zmCms/my-cms/config/log.php ( 2.18 KB )
  37. /www/wwwroot/zmCms/my-cms/config/mail.php ( 1.23 KB )
  38. /www/wwwroot/zmCms/my-cms/config/middleware.php ( 0.26 KB )
  39. /www/wwwroot/zmCms/my-cms/config/route.php ( 1.89 KB )
  40. /www/wwwroot/zmCms/my-cms/config/session.php ( 0.59 KB )
  41. /www/wwwroot/zmCms/my-cms/config/trace.php ( 0.34 KB )
  42. /www/wwwroot/zmCms/my-cms/config/view.php ( 2.08 KB )
  43. /www/wwwroot/zmCms/my-cms/app/event.php ( 0.25 KB )
  44. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/Event.php ( 7.77 KB )
  45. /www/wwwroot/zmCms/my-cms/app/service.php ( 0.13 KB )
  46. /www/wwwroot/zmCms/my-cms/app/AppService.php ( 0.86 KB )
  47. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /www/wwwroot/zmCms/my-cms/vendor/services.php ( 0.15 KB )
  53. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.20 KB )
  64. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.75 KB )
  65. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.30 KB )
  68. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /www/wwwroot/zmCms/my-cms/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /www/wwwroot/zmCms/my-cms/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /www/wwwroot/zmCms/my-cms/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-helper/src/helper/Arr.php ( 17.45 KB )
  80. /www/wwwroot/zmCms/my-cms/app/common/cache/DomainCache.php ( 5.40 KB )
  81. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  82. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/cache/Driver.php ( 9.02 KB )
  83. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  84. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/facade/Request.php ( 9.20 KB )
  85. /www/wwwroot/zmCms/my-cms/app/Request.php ( 0.09 KB )
  86. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/Request.php ( 54.64 KB )
  87. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/traits/UrlHandler.php ( 6.05 KB )
  88. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/traits/DomainHandler.php ( 5.49 KB )
  89. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/traits/HttpMethodHandler.php ( 4.74 KB )
  90. /www/wwwroot/zmCms/my-cms/app/middleware.php ( 0.34 KB )
  91. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  92. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  93. /www/wwwroot/zmCms/my-cms/app/middleware/LangMiddleware.php ( 4.35 KB )
  94. /www/wwwroot/zmCms/my-cms/app/middleware/CorsMiddleware.php ( 3.60 KB )
  95. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  96. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/route/RuleName.php ( 5.74 KB )
  97. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  98. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.41 KB )
  99. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/route/Rule.php ( 27.49 KB )
  100. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  101. /www/wwwroot/zmCms/my-cms/route/app.php ( 17.18 KB )
  102. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  103. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  104. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/route/Dispatch.php ( 11.32 KB )
  105. /www/wwwroot/zmCms/my-cms/app/controller/DetailController.php ( 18.72 KB )
  106. /www/wwwroot/zmCms/my-cms/app/controller/BaseController.php ( 48.65 KB )
  107. /www/wwwroot/zmCms/my-cms/app/BaseController.php ( 2.14 KB )
  108. /www/wwwroot/zmCms/my-cms/app/common/traits/MemberHelper.php ( 2.88 KB )
  109. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/facade/Log.php ( 3.07 KB )
  110. /www/wwwroot/zmCms/my-cms/vendor/psr/log/src/LogLevel.php ( 0.33 KB )
  111. /www/wwwroot/zmCms/my-cms/app/common/log/DomainFile.php ( 2.91 KB )
  112. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/log/driver/File.php ( 6.10 KB )
  113. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  114. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  115. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  116. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/event/LogWrite.php ( 0.76 KB )
  117. /www/wwwroot/zmCms/my-cms/app/common/IpHelper.php ( 2.17 KB )
  118. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  119. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  120. /www/wwwroot/zmCms/my-cms/app/service/SiteService.php ( 22.97 KB )
  121. /www/wwwroot/zmCms/my-cms/app/common/DomainHelper.php ( 14.61 KB )
  122. /www/wwwroot/zmCms/my-cms/app/common/cache/CacheHelper.php ( 29.40 KB )
  123. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/facade/Config.php ( 1.37 KB )
  124. /www/wwwroot/zmCms/my-cms/app/model/Site.php ( 2.88 KB )
  125. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/facade/App.php ( 2.73 KB )
  126. /www/wwwroot/zmCms/my-cms/app/service/MenuService.php ( 6.82 KB )
  127. /www/wwwroot/zmCms/my-cms/app/service/ModuleService.php ( 17.29 KB )
  128. /www/wwwroot/zmCms/my-cms/app/service/SiteExtensionDataDataService.php ( 3.08 KB )
  129. /www/wwwroot/zmCms/my-cms/app/service/SitePageService.php ( 2.30 KB )
  130. /www/wwwroot/zmCms/my-cms/app/common/util/StringUtil.php ( 9.08 KB )
  131. /www/wwwroot/zmCms/my-cms/app/view/driver/CustomThink.php ( 4.18 KB )
  132. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  133. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  134. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  135. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  136. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  137. /www/wwwroot/zmCms/my-cms/app/common/CustomTemplate.php ( 0.76 KB )
  138. /www/wwwroot/zmCms/my-cms/app/common/PathHelper.php ( 32.31 KB )
  139. /www/wwwroot/zmCms/my-cms/app/common/util/SocialUrlUtil.php ( 1.59 KB )
  140. /www/wwwroot/zmCms/my-cms/app/common/service/SymlinkService.php ( 16.08 KB )
  141. /www/wwwroot/zmCms/my-cms/app/model/SitePage.php ( 1.11 KB )
  142. /www/wwwroot/zmCms/my-cms/app/service/SiteCategoryService.php ( 18.30 KB )
  143. /www/wwwroot/zmCms/my-cms/app/service/AdsUnitService.php ( 42.44 KB )
  144. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  145. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.73 KB )
  146. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-orm/src/db/PDOConnection.php ( 53.74 KB )
  147. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  148. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  149. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  150. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-orm/src/db/Builder.php ( 24.07 KB )
  151. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  152. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-orm/src/db/Query.php ( 15.97 KB )
  153. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  154. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  155. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  156. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  157. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  158. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  159. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  160. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  161. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  162. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  163. /www/wwwroot/zmCms/my-cms/app/common/SeoVarHelper.php ( 5.65 KB )
  164. /www/wwwroot/zmCms/my-cms/app/service/SiteNewsService.php ( 6.37 KB )
  165. /www/wwwroot/zmCms/my-cms/app/model/News.php ( 7.12 KB )
  166. /www/wwwroot/zmCms/my-cms/app/common/UrlHelper.php ( 9.39 KB )
  167. /www/wwwroot/zmCms/my-cms/app/common/util/LdJson.php ( 23.74 KB )
  168. /www/wwwroot/zmCms/my-cms/app/model/SiteModel.php ( 0.92 KB )
  169. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  170. /www/wwwroot/zmCms/my-cms/app/service/PageMetaService.php ( 10.94 KB )
  171. /www/wwwroot/zmCms/my-cms/app/common/ArrayAccessWrapper.php ( 6.19 KB )
  172. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-template/src/template/taglib/Cx.php ( 24.23 KB )
  173. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-template/src/template/TagLib.php ( 12.11 KB )
  174. /www/wwwroot/zmCms/my-cms/runtime/temp/5ddfa63e404075cae9a1795185df4d17.php ( 50.55 KB )
  175. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/Response.php ( 9.07 KB )
  176. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/response/Html.php ( 0.97 KB )
  177. /www/wwwroot/zmCms/my-cms/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  178. /www/wwwroot/zmCms/my-cms/vendor/topthink/think-trace/src/Html.php ( 4.65 KB )
  1. SiteService getSiteByDomain - 查找站点,域名: deskconnectionlab.com
  2. SiteService getSiteByDomain - 找到站点,ID: 1960, 名称: DeskConnection Lab, 模板ID: 219
  3. SiteService safeTemplateDirExists - 检查模板目录是否存在,模板UID: deskconnectionlab.com, 根路径: /www/wwwroot/zmCms/my-cms/
  4. SiteService safeTemplateDirExists - 检查路径: /www/wwwroot/zmCms/templates/deskconnectionlab.com/, 是否存在: 否
  5. SiteService safeTemplateDirExists - 检查路径: /www/wwwroot/zmCms/my-cms/templates/deskconnectionlab.com/, 是否存在: 否
  6. SiteService safeTemplateDirExists - 模板目录不存在: deskconnectionlab.com
  7. SiteService getCurrentTemplate - 域名目录不存在: deskconnectionlab.com,继续检查站点配置
  8. SiteService getCurrentTemplate - 使用传入的站点对象,ID: 1960, 模板ID: 219
  9. SiteService getCurrentTemplate - 从站点对象获取模板UID: news_qkd_0015
  10. SiteService safeTemplateDirExists - 检查模板目录是否存在,模板UID: news_qkd_0015, 根路径: /www/wwwroot/zmCms/my-cms/
  11. SiteService safeTemplateDirExists - 检查路径: /www/wwwroot/zmCms/templates/news_qkd_0015/, 是否存在: 是
  12. SiteService safeTemplateDirExists - 模板目录存在: /www/wwwroot/zmCms/templates/news_qkd_0015/
  13. SiteService getCurrentTemplate - 数据库配置模板目录存在,返回: news_qkd_0015
  14. [CacheHelper] 写入缓存: tpUid:deskconnectionlab.com, 结果: 成功
  15. APCu缓存设置结果: 成功, 域: deskconnectionlab.com, 值: news_qkd_0015
  16. 站点信息 - ID: 1960, URL: deskconnectionlab.com, 类型: 0, 模板: news_qkd_0015, 站点数据: 存在
  17. [Lang] 当前语言: en,站点默认: en,URL 前缀: 否
  18. SiteService findTemplatePath - 应用根目录: /www/wwwroot/zmCms/my-cms/
  19. SiteService findTemplatePath - 检查的目录列表: deskconnectionlab.com, news_qkd_0015, default, game_default
  20. SiteService findTemplatePath - 可能的基路径: /www/wwwroot/zmCms/templates/, /www/wwwroot/zmCms/my-cms/templates/
  21. SiteService findTemplatePath - 检查路径: /www/wwwroot/zmCms/templates/deskconnectionlab.com/, 是否存在: 否
  22. SiteService findTemplatePath - 检查路径: /www/wwwroot/zmCms/templates/news_qkd_0015/, 是否存在: 是
  23. SiteService findTemplatePath - 找到目录: /www/wwwroot/zmCms/templates/news_qkd_0015/, 相对路径: ../templates/news_qkd_0015/
  24. SiteService findTemplatePath - 数据库配置模板标识: news_qkd_0015, 实际使用目录: news_qkd_0015, 是否匹配: 是
  25. [CacheHelper] 写入缓存: viewpath:deskconnectionlab.com, 结果: 成功
  26. SiteService findTemplatePath - 已缓存视图路径,域名: deskconnectionlab.com, 路径: ../templates/news_qkd_0015/
  27. 智能模板查找 - 域名: deskconnectionlab.com, 模板UID: news_qkd_0015, 路径: ../templates/news_qkd_0015/
  28. 最终设置模板路径: ../templates/news_qkd_0015/
  29. CustomThink驱动初始化完成,已替换为CustomTemplate
  30. 开始分配模板变量 - 站点ID: 1960, 模板: news_qkd_0015
  31. 站点拓展字段数量: 29
  32. currentPath: news/55645/share-a-keyboard-through-software-across-pcs
  33. 菜单数量: 6
  34. 模板变量分配完成
  35. 页面标识pageUid: detail
  36. 页面配置查询结果: 找到页面
  37. 获取到分类/标签列表数量: 5
  38. 页面配置: show_cat=1, show_models=1
  39. [模块] Relevant News - 数量: 0, 配置显示数量: 20
  40. 模块数量: 1
  41. [模块-拆分后] Relevant News - 数量: 0
  42. handleSiteMeta - 开始
  43. handleSiteMeta - 完成,已设置 SEO + hero
  44. [loadAdsConfig] ad_enable=0, google_client=, google_analytics=, clarity_project_id=null, AD_JS长度=0
  45. News控制器 name=, id=55645
  46. 当前站点ID: 1960, 站点类型: 0,name:,orgType:news,id:55645
  47. 111111111111111111orgType:news
  48. [SiteNewsService] 缓存新闻详情,缓存键: site:news:deskconnectionlab.com:detail_55645
  49. [CacheHelper] 写入缓存: site:news:deskconnectionlab.com:detail_55645, 结果: 成功
  50. 从SiteNewsService::getNewsDetail获取到新闻记录,站点ID: 1960, ID: 55645
  51. recordBrowseHistory 被调用, siteId: 1960, itemId: 55645, type: -1
  52. 会员信息无效或未登录,不记录浏览历史
  53. [Detail] play_url 值: 'https://deskconnectionlab.com/play/55645/share-a-keyboard-through-software-across-pcs', title: 'Share a keyboard through software across PCs'
  54. source_url:
  55. 不存在时分配空值
  56. [SiteNewsService] 缓存关联新闻,缓存键: site:news:deskconnectionlab.com:link_17685
  57. [CacheHelper] 写入缓存: site:news:deskconnectionlab.com:link_17685, 结果: 成功
  58. BaseController fetch开始 - 模板: detail.html, 请求模板路径: 未设置
  59. SiteService findTemplatePath - 应用根目录: /www/wwwroot/zmCms/my-cms/
  60. SiteService findTemplatePath - 检查的目录列表: deskconnectionlab.com, news_qkd_0015, default, game_default
  61. SiteService findTemplatePath - 可能的基路径: /www/wwwroot/zmCms/templates/, /www/wwwroot/zmCms/my-cms/templates/
  62. SiteService findTemplatePath - 检查路径: /www/wwwroot/zmCms/templates/deskconnectionlab.com/, 是否存在: 否
  63. SiteService findTemplatePath - 检查路径: /www/wwwroot/zmCms/templates/news_qkd_0015/, 是否存在: 是
  64. SiteService findTemplatePath - 找到目录: /www/wwwroot/zmCms/templates/news_qkd_0015/, 相对路径: ../templates/news_qkd_0015/
  65. SiteService findTemplatePath - 数据库配置模板标识: news_qkd_0015, 实际使用目录: news_qkd_0015, 是否匹配: 是
  66. [CacheHelper] 写入缓存: viewpath:deskconnectionlab.com, 结果: 成功
  67. SiteService findTemplatePath - 已缓存视图路径,域名: deskconnectionlab.com, 路径: ../templates/news_qkd_0015/
  68. BaseController fetch - 计算模板路径: ../templates/news_qkd_0015/, 模板UID: news_qkd_0015
  69. BaseController fetch - 完整模板文件路径: /www/wwwroot/zmCms/my-cms/../templates/news_qkd_0015/detail.html , 文件存在: 是
  1. CONNECT:[ UseTime:0.000248s ] mysql:host=localhost;port=3306;dbname=cms;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `cms_site_category` [ RunTime:0.000853s ]
  3. SELECT `seo_title`,`seo_keywords`,`seo_description`,`page_hero`,`page_hero_bg` FROM `cms_site_category` WHERE `name` = 'detail' AND `site_id` = '1960' LIMIT 1 [ RunTime:0.000249s ]
  4. SHOW FULL COLUMNS FROM `cms_site_news` [ RunTime:0.000721s ]
  5. SELECT `sa`.`id`,`sa`.`sort`,`sa`.`create_time`,`sa`.`site_id`,a.id as news_id,`a`.`title`,`a`.`summary`,`a`.`seo_title`,`a`.`seo_keywords`,`a`.`seo_description`,`a`.`thumb_big`,`a`.`thumb_middle`,`a`.`thumb_small`,`a`.`author`,`a`.`click_count`,`a`.`share_count`,`a`.`view_count`,`a`.`publish_time`,`a`.`update_time`,`a`.`cat_id`,`c`.`cat_name`,`ad`.`content` FROM `cms_site_news` `sa` INNER JOIN `cms_news` `a` ON `sa`.`news_id`=`a`.`id` LEFT JOIN `cms_categories` `c` ON `a`.`cat_id`=`c`.`id` LEFT JOIN `cms_news_detail` `ad` ON `a`.`id`=`ad`.`news_id` WHERE `sa`.`status` = '1' AND `a`.`status` = '1' AND `sa`.`site_id` = '1960' AND `a`.`id` = '55645' LIMIT 1 [ RunTime:0.000409s ]
  6. SHOW FULL COLUMNS FROM `cms_site_module` [ RunTime:0.000793s ]
  7. SELECT `sa`.`id`,`sa`.`sort`,`sa`.`create_time`,`sa`.`site_id`,a.id as news_id,`a`.`title`,`a`.`summary`,`a`.`seo_title`,`a`.`seo_keywords`,`a`.`seo_description`,`a`.`thumb_big`,`a`.`thumb_middle`,`a`.`thumb_small`,`a`.`author`,`a`.`click_count`,`a`.`share_count`,`a`.`view_count`,`a`.`publish_time`,`a`.`update_time`,`a`.`cat_id`,`c`.`cat_name` FROM `cms_site_news` `sa` INNER JOIN `cms_news` `a` ON `sa`.`news_id`=`a`.`id` LEFT JOIN `cms_categories` `c` ON `a`.`cat_id`=`c`.`id` WHERE `a`.`cat_id` = '2874' AND `sa`.`site_id` = '1960' AND `sa`.`status` = '1' AND `a`.`status` = '1' AND `sa`.`id` <> '17685' ORDER BY `a`.`create_time` DESC LIMIT 20 [ RunTime:0.000534s ]
0.062683s