{"id":13462527,"url":"https://github.com/laynefyc/xhgui-branch","last_synced_at":"2025-05-14T05:02:23.572Z","repository":{"id":21842453,"uuid":"93774285","full_name":"laynefyc/xhgui-branch","owner":"laynefyc","description":"uprofiler UI,xhprof UI,tideways UI , PHP Non-intrusive performance monitoring platform. ","archived":false,"fork":false,"pushed_at":"2024-11-06T20:08:33.000Z","size":2279,"stargazers_count":900,"open_issues_count":6,"forks_count":126,"subscribers_count":33,"default_branch":"master","last_synced_at":"2025-04-10T22:35:17.704Z","etag":null,"topics":["composer","php","php7","sql","tideways","xhgui","xhprof"],"latest_commit_sha":null,"homepage":"https://github.com/laynefyc/php-monitor","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/laynefyc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-06-08T17:18:57.000Z","updated_at":"2025-03-19T13:22:50.000Z","dependencies_parsed_at":"2024-11-19T20:12:06.208Z","dependency_job_id":null,"html_url":"https://github.com/laynefyc/xhgui-branch","commit_stats":{"total_commits":760,"total_committers":60,"mean_commits":"12.666666666666666","dds":"0.40657894736842104","last_synced_commit":"6ac92d46b04cec3cc728ab1a60818da94b4b1310"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laynefyc%2Fxhgui-branch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laynefyc%2Fxhgui-branch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laynefyc%2Fxhgui-branch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laynefyc%2Fxhgui-branch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/laynefyc","download_url":"https://codeload.github.com/laynefyc/xhgui-branch/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254076359,"owners_count":22010600,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["composer","php","php7","sql","tideways","xhgui","xhprof"],"created_at":"2024-07-31T12:00:50.907Z","updated_at":"2025-05-14T05:02:23.499Z","avatar_url":"https://github.com/laynefyc.png","language":"JavaScript","funding_links":[],"categories":["Uncategorized"],"sub_categories":["Uncategorized"],"readme":"## 最新\n新版本已开发完成，做了如下改进：\n\n🌈 支持本地Sqlite存储，也支持MySQL和MongoDB存储。\n\n🌍 国际化，支持英语/简体中文/繁体中文。\n\n🛡 可通过Composer极速安装。\n\n🎨 一句命令运行监控服务。\n\n🌈 支持帐号密码登录。\n\n更多新功能欢迎前往 https://github.com/laynefyc/php-monitor 体验。\n\n## 历史\n新版本已经在开发中，后端功能全部开发完成，前端页面开发还在努力中。由于前端技术更新太快，不打算jQuery一把梭了，新版本会用上vue或者react，所以我也是边学习边开发。\n\n公众号写了有一段时间，里面的内容也充实了不少，相比博客质量更高一些，分享的内容更成体系，有兴趣的关注看看。\n\n[http://imgs.it2048.cn/code-log.png](http://imgs.it2048.cn/code-log.png)\n\n提交Issue之前请看看 README.md(当前页面)和历史已经处理的 [Closed Issue](https://github.com/laynefyc/xhgui-branch/issues?q=is%3Aissue+is%3Aclosed)90%的问题都能找到答案。另外10%的问题请按照Issue模板中需要的信息提交，你提供的信息越多我越能给你准确的建议，不按照规范提交的Issue我会直接关闭。\n\n2019年想定个目标 - 重写xhprof扩展和xhgui-branch，有兴趣的朋友请移步到我的博客留言交流一下 [我的博客](http://blog.it2048.cn/)\n\n获取底层信息的PHP扩展很多，比如 uprofiler,tideways_xhprof,tideways,xhprof等，他们的原理都一样，只是兼容性与稳定性的差别（选择一个安装，安装多个会冲突）。\n\n````\nClass 'MongoClient' not found\nFatal error: Call to undefined function xhprof_enable()\n````\n如出现上面的报错信息，请使用`php -m` 看看是否有tideways或者tideways_xhprof扩展。 再修改 [config/config.default.php#L12](https://github.com/laynefyc/xhgui-branch/blob/ad6e0c0a3eaf9b5b0438cd4a3d3db937f1954058/config/config.default.php#L12) 配置文件的扩展名。 如果还有问题请检查vendor 目录下是否存在 alcaeus/mongo-php-adapter扩展文件（这是一个兼容mongo.so和mongodb.so的适配器）。如果不存在请更新代码（git pull origin master），然后运行composer install安装。\n\n90%的问题都能在 **ISSUE** 中找到答案 [ISSUE](https://github.com/laynefyc/xhgui-branch/issues?q=is%3Aissue+is%3Aclosed) \n\ntideways的新版扩展已经更名，并且不支持SQL显示，建议使用支持SQL展示的V4版本  [v4.1.6](https://github.com/tideways/php-xhprof-extension/tree/v4.1.6)   \n\n如果一定要使用V5版本，请修改配置文件   [config/config.default.php#L12](https://github.com/laynefyc/xhgui-branch/blob/ad6e0c0a3eaf9b5b0438cd4a3d3db937f1954058/config/config.default.php#L12)  为 tideways_xhprof\n\n已添加SQL列表与SQL执行时间展示（暂时只支持tideways扩展），下文有截图。 \n\n## xhgui汉化与更新\n\nxhgui的安装信息可到源项目查看文档：[xhgui](https://github.com/perftools/xhgui)  \n\n如果不能安装成功可到我博客看这篇文章：[Tideways和xhgui打造PHP非侵入式监控平台](http://blog.it2048.cn/article_tideways-xhgui.html) \n\n当然最好的方式就是联系我,我的博客：[https://blog.it2048.cn](https://blog.it2048.cn)\n\n[![Latest Stable Version](https://poser.pugx.org/laynefyc/xhgui-chinese/v/stable.png)](https://packagist.org/packages/laynefyc/xhgui-chinese)\n[![Total Downloads](https://poser.pugx.org/laynefyc/xhgui-chinese/downloads.png)](https://packagist.org/packages/laynefyc/xhgui-chinese)\n[![Build Status](https://travis-ci.org/laynefyc/xhgui-branch.svg?branch=master)](https://travis-ci.org/laynefyc/xhgui-branch)\n\n### 一. 站在举人的肩膀上\n\n项目的汉化参考了 [https://github.com/snfnwgi/xhgui](https://github.com/snfnwgi/xhgui)，对部分翻译不够准确的词做了修改，对未翻译的部分做了翻译。\n\t\nxhgui源项目已经很久不更新了。我在基于xhgui搭建PHP监控平台的过程中遇到很多问题，自己对PHP和前端都还算了解，打算边修边优化并将更新的代码开源。\n\n### 二. 为什么不直接在源项目提交Merge Request？\n\n我会将一些基本的语法Bug修复后提交Merge Request。但汉化的修改不会提，主要原因是xhgui源项目对代码的要求基本是可用就可的程度，后期扩展的添加混乱的一塌糊涂。维护代码的人也焦头烂额，很多显而易见的错误都没人修。我无法保证我提的代码被及时的采纳。xhgui的UI主要是针对老外设计的，很多符号和数据单位我看着不习惯，一些交互也不友好，这个项目主要会对这方面做改动所以不适合提交Merge Request。\n\n### 三. 界面截图\n首页截图\n![首页截图](https://github.com/laynefyc/xhgui-branch/raw/screenshot/screenshot/homepage.png)\n\n瀑布图\n![瀑布图](https://github.com/laynefyc/xhgui-branch/raw/screenshot/screenshot/waterfall.png)\n\n函数监控图\n![函数监控图](https://github.com/laynefyc/xhgui-branch/raw/screenshot/screenshot/view-function.png)\n\nSQL列表\n![SQL列表](https://github.com/laynefyc/xhgui-branch/raw/screenshot/screenshot/sql_list.png)\n\n### 四. 更新日志\n1. 将时间选择控件换成了更符合国人使用习惯的laydate;\n2. 将时间的格式转换成了 2017-06-08 12:18:18 格式；\n3. 将微妙转换成了毫秒，byte转换成了MB或者KB；\n4. 添加了IP的展示；\n5. 将中文URL做了url_decode();\n6. 将页面的大标题去掉，换成用颜色选中的Nav标签展示；\n7. 修复了『自定义函数』功能无法使用的问题；\n8. 翻译了大量英文描述；\n9. 很多小Tips等待有心人去发现；\n10. 支持composer更新；\n\n### 五. TODO\n1. 将前端展示页面抽离出来；\n2. 支持多域名的显示；\n\n### 六. 通过Composer安装\u0026更新\n\n````bash\ncomposer require laynefyc/xhgui-chinese\n````\n\n### 七. 常见问题\n1. 如果数据显示不全，内存和执行等信息都是空，请排查PHP扩展程序，tideways和xhprof并不支持所有操作系统和所有PHP版本；\n2. 如果mongoDB中的数据是空，请检查mongoDB的配置，header.php文件的引入是否规范；\n3. 提交Issues请带上操作系统，PHP版本，扩展名和扩展版本。只提供一句话很难给你建议；\n4. 历史问题在这里 [https://github.com/laynefyc/xhgui-branch/issues?utf8=%E2%9C%93\u0026q=is%3Aissue](https://github.com/laynefyc/xhgui-branch/issues?utf8=%E2%9C%93\u0026q=is%3Aissue)\n\n## 八. 既然看到这了不如加个微信吧\n\n![https://github.com/laynefyc/xhgui-branch/blob/screenshot/screenshot/code-log1.png](https://github.com/laynefyc/xhgui-branch/blob/screenshot/screenshot/code-log1.png)\n\n[http://imgs.it2048.cn/code-log.png](http://imgs.it2048.cn/code-log.png)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaynefyc%2Fxhgui-branch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flaynefyc%2Fxhgui-branch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaynefyc%2Fxhgui-branch/lists"}