idealclover - PHP
type: channel
link: https://idealclover.top/tag/PHP/
items: （22.05.04 更新）为博客添加 COVID-19 疫情地图
items: 服务器指北 - 有了服务器之后可以做点什么
items: 使用 Piwik 进行网站统计
items: 使用AWS时遇到的那些坑
items: LNMP环境下fileinfo扩展的安装
items: 从零开始折腾博客(3)：一键安装脚本LAMP.sh搭建Wordpress站点
items: 从零开始折腾博客(2)：LMAP搭建Wordpress博客
items: XAMPP+PhpStorm+Xdebug调试本地网页
items: 从零开始折腾博客(1)：服务器，购买和配置
items: 从零开始折腾博客(0)：静态？动态？

（22.05.04 更新）为博客添加 COVID-19 疫情地图
type: item
date: 2022-05-04T17:30:00+08:00
description: AI 摘要：本文介绍了如何在博客中添加COVID-19疫情地图，原作者已停止维护项目，作者使用Vue.js进行了重构，开源在GitHub。新的地图可以在[map.icl.moe](https://map.icl.moe)查看，支持以iframe形式调用。数据源来自BlankerL/DXY-COVID-19-Crawler，通过周期性爬取缓存提供给前端。作者希望疫情早日结束，与大家共同努力。展开Powered by AISummary and MoonShot KimiChat.2022/05/04 更新：可能疫情刚开始的时候我们谁都没能想到，始于2020的这场疫情竟然会这样持久。项目原作者看来也已经不维护这个项目了，数据/地图都已经停止更新了。因此趁着五一假期，自己抢救了一下，用 Vue.js(v3.x) 进行了前端整体的重构，把数据获取和展示分离了（原作者用的应该是一整个 PHP 文件）开源在了 idealclover/Covid-19-Map还是和之前一样，支持以 iframe 形式进行一句话调用，不过地址需要改一下新的地址在 map.icl.moe预览在这里↓ 数据源来自 BlankerL/DXY-COVID-19-Crawler 通过目录中的 script/script.py 进行周期性爬取（我这儿是半天一次）缓存提供给前端如果需要的话，就拿去用吧。希望有一天我们都用不上这个组件。最后随便说两句。因为自己在做课表，所以会认识一些学弟学妹们，然后前段时间正巧看到一个话题叫“青春才几年，疫情占三年”，多少有些难过。网课、封校、管控，现在仍在大学的同学们，学习、社交、恋爱都受到了无止境的影响，光是看着便已经让人难过。而自己那些因疫情而未能实现的毕业想法、与大学生活的被迫匆匆告别，也在这一个个瞬间纷纷涌上心头。“夏天结束了”。前段时间两国元首通话的声明中，望着那句“和平与发展的时代主题面临严峻挑战”，我发了好久的呆。从初中历史书上便学到的“和平与发展是当今时代的主题”，从没想过有一天也会归回到历史中。但是或许吧，生活的真相便是如此，从自己出生以来所以为的“稳定”的生活终究不是常态。虽说是“百年未有之大变局”，但细想想，从1840年至今的哪个十年，又何尝不是“百年未有”呢？最近会看一些冷战期间发生的故事，有那么些时候我会很向往那个时代，那个离人类文明毁灭近在咫尺，却又在努力探索人类制度与科技边界的年代。相比之下，现在的的世界在某种程度上是如此的费拉不堪，仿佛到了上一个阶段的垃圾时间，但下一个阶段却迟迟看不到曙光。唉，撑吧，撑着才有希望，撑下去才能看到明天的太阳。说到这里，我忽然想起了持续了十四年抗战，以及在那个年代所写成的《论持久战》。前段时间又翻出来读了一遍，深感当年他洞穿时间和空间的深邃眼光。“速胜论”和“亡国论”又何尝不能再如今的疫情之战中被体现着呢？三年时间，往长说是一批人的青春，但往短说，也不过只是历史长文中的一个句读罢了。是啊，青春才几年，抗战十四年，那又曾经是几代人的青春与热血？或许今天我们所有人所作出的努力，都只是若干年后历史书中的一个章节，一个知识点甚至一个注脚。甚至，那时会有人认为我们“赢得理所当然”，以及“历史本该如此”吧。但只有身处时代漩涡中，才会知道其中的酸甜苦辣吧。我很喜欢一位同事的飞书签名，Stay in game.以此作结，与大家共同努力。btw：因为涉及敏感问题，所以评论区会开启精选，我会过滤一下评论，还请见谅。以下为 2020/4/13 原文：有细心的小可爱可能已经发现了，在博客的侧边栏（手机端访问应该是最下面）多了一栏 COVID-19 疫情地图。傻翠在网上冲浪的时候偶然看到果核剥壳的 这篇文章，于是决定给自己的博客也整一个。感觉做的蛮不错，可以很方便地看到全球现存确诊状况，鼠标移到某个省份/国家上也可以查看地区详情。傻翠就算是义务安利一下吧～想用的可以抱走预览在这里↓ 其实原博客已经把怎么部署写得挺清楚了～因为作者已经写好了框架代码，所以只需要用 iframe 调用就可以了。在想要加入疫情地图的地方加入如下代码 就可以调用大佬的疫情地图了，据说是从丁香园的数据抓取的，每小时更新，地图是来自 highmaps，先 mark 一下，说不定什么时候做可视化就要用到了呢。想规定大小的话改变 height 和 width 值就可以了，因为傻翠对侧边栏本来就够长了，所以手动缩了点高度 XD唉，希望疫情能早点过去吧，家里花都要开了。参考链接中国疫情地图和全球疫情地图组件，一句话调用闲着没事？教你用代码写一个实时疫情图

服务器指北 - 有了服务器之后可以做点什么
type: item
date: 2019-05-06T16:48:00+08:00
description: AI 摘要：本文介绍了作者在拥有服务器后，如何利用服务器搭建各种服务，提高生活便捷性。作者在搬瓦工云主机、阿里云学生主机和群晖上搭建了shadowsocks、LNMP、Typecho、Anki-Server、OneIndex、DokuWiki、CloudReve、FrpS等服务。在阿里云学生主机上，使用Docker安装了Calibre-web、proxy_pool、RSSHub、ttrss、leanote、Piwik和FrpS。在群晖上，安装了Jellyfin、Aria2和FrpC。这些服务包括代理、网站搭建、电子书管理、笔记应用、影音管理等，让作者的生活更加便捷。展开Powered by AISummary and MoonShot KimiChat.其实这算是一篇记录贴，记录一下自己折腾服务器这些时间以来都对自己的服务器做了些什么，也算是给大家一个参考。傻翠自己现在有三个服务器设备：国外的搬瓦工云主机，国内的阿里云学生主机和自己的群晖，接下来会对每个设备上现在运行着的服务进行一个简单的梳理和展示~Bandwagon自己最开始使用搬瓦工的服务器是出于一些不可告人的秘密。后来因为发现个人网站也可以搭建在上面，于是开始了折腾的不归路XD。这台服务器是搬瓦工最低的配置：512M RAM + 1 core CPU，现在似乎已经停售了嘤~ 由于这台主机只有512M的内存，无法运行一些较为大型的服务（对对对，docker，说的就是你），于是大部分服务是直接基于LNMP框架进行搭建以节约内存。到目前为止上面运行着这些服务：shadowsocks咳咳shadowsocks-R咳咳LNMPLNMP 指的是一整套环境（Linux + Nginx + MySQL + PHP），基于这套环境可以十分方便地搭建PHP以及其他网络服务，下面很多提到的东西也是在这个基础上构建的。为了方便以及省事我通常直接使用一键安装脚本，LNMP 一键安装包的地址在 这里 。TypechoTypecho 是一个基于PHP的轻量级动态博客框架，在 LNMP 的基础上可以十分容易的搭建起来，并且具有良好的性能及可扩展性。Typecho 的官网在 这里我自己搭建的博客网站在 这里Anki-ServerAnki 是一个很好用的，在电脑端手机端均可用的，开源的记忆应用。可以帮助自己记住包括英语单词在内的各种知识，并支持各种各样的扩展。Anki 的官网在 这里由于 Anki 自己的服务器在中国不是很好用，于是我选择了自建服务器，而也总结了一篇搭建的博客，可以查看 这里OneIndex由于我自己最常用的同步工具是 OneDrive，也会多关注一些与 OneDrive 相关的工具。OneIndex 是一个不占用服务器空间，不走服务器流量，直接列出 OneDrive 目录，支持文件直链下载与预览的 OneDrive 目录展示器这个项目的 GitHub 网站在 这里我主要的使用是为了支持南哪复习资料项目，项目 GitHub 网站在 这里，OneIndex 主页在 这里DokuWikiDokuWiki 是一个开源的 Wiki 软件，可以用来搭建自己的个人知识库。不过由于懒 emmm 我好久没有更东西了，很多东西都直接放在博客上或者自己的 OneNote 中。DokuWiki 的官网在 这里我自己的 DokuWiki 在 这里CloudReveCloudReve 是一个很好用的可以搭建在服务器上的开源网盘应用，支持将文件放在服务器上，阿里云，腾讯云，或 AWS，OneDrive 等各种对象存储服务上的可扩展云盘。CloudReve 的官网在 这里项目的 GitHub 地址在 这里我自己的云盘在 这里FrpSFrp 是一个内网映射工具。自己用 Frp 的需要主要有两个：一个是辣鸡校园网没有固定 ip，自己的群晖（下面会提到）要想公网访问必须要映射出去；另一个需要就是自己在本地测试的时候需要在公网环境跑，这时候就需要 Frp 将我本地的环境映射成网络环境，好跑需要 https 的服务，自己调试起来也便捷些。Frp 分为两部分，有公网 ip 的是服务端，需要向外提供服务的是客户端。所以在自己两台有公网 ip 的云服务器上都装了服务端，在自己的电脑上和群晖上都装了客户端。Frp 的 GitHub 地址在 这里Ali Cloud这台服务器是阿里云的学生主机，配置是 2G RAM + 1 core CPU，配置比搬瓦工的强了不少，于是 Docker 也可以跑在上面了，几乎这所有的服务为了图省事都使用了 Docker 进行安装。有了 Docker 就省去了配置环境等等乱七八糟的事情，很多东西都可以拿来直接用，还是蛮方便的。Docker 的官方地址在 这里Calibre-webCalibre 是一个电子书管理…

使用 Piwik 进行网站统计
type: item
date: 2019-05-04T20:53:48+08:00
description: AI 摘要：本文介绍了 Piwik（现更名为 Matomo）作为 Google Analytics 的替代品，以及如何获取和设置 Piwik。Piwik 是一套基于 PHP + MySQL 的开源网站访问统计系统，具有实时更新数据、可定制仪表盘、电商数据分析等功能。获取 Piwik 后，需要检查环境、修改配置文件、设置数据库和网站等步骤。最后，将相应的 js 代码放在网站最后即可开始使用。使用 Piwik 后，网站的访问速度有所提升。展开Powered by AISummary and MoonShot KimiChat.网站统计工具是帮助站长了解网站并进行改进的重要工具，不过进来统计工具被劫持的事件不断，有些网站因为引入了被劫持后的统计工具而导致广告弹窗等安全事件会让浏览器误判为垃圾网站。之前自己一直在用 google analytics 进行统计，但是近期发现虽然 google analytics 没有被墙，但在国内网站进行访问的时候似乎有一些问题，有些拖累网站访问速度，于是决定寻找 google analytics 的替代品，于是顺藤摸瓜找到了 Piwik 。Piwik 现在已经更名为 Matomo ，并且提供了自己的服务，但同时也有自己搭建的选项。Piwik 是一套基于 PHP + MySQL 技术构建的开源网站访问统计系统，其前身是 phpMyVisites 。其主要功能有以下方面：数据实时更新：实时观看到网站的访问流量。可定制仪表盘：根据需要创建窗口小部件，建立新的仪表盘。显示所有网站数据：全局预览监控的所有的网站的信息。电商数据分析：可以根据一定的统计信息，计算大概收益。目标转换跟踪：跟踪以及分析网站中的某些内容是否符合访问者的需求。内容跟踪：跟踪网页中的标题、文本等其他的元素。网站搜索跟踪：跟踪用户访问网站的搜索引擎等信息。自定义变量：跟踪代码中添加自定义的键值对变量，piwik统计这些变量的被访问信息，并将信息可视化。地理定位：piwik可以定位访问者所在的国家、地区、城市，并将这些信息在地图中展现。页面转换信息统计：统计访问者在访问该页面之前以及访问该页面之后动作信息。用户交互跟踪：文件下载、网站内链接点击以及404页面跟踪。电子邮件报告：在你的网站或者是APP中可以嵌入piwik报告，或者是嵌入生成的图片，同时也可以将pdf、HTML格式的报告以邮件的形式发送。注释：生成的图表中添加一定的注释，用于记录重要的事件。无数据限制：没有存储的限制，可以保存所有的数据。可以看出， piwik 是很完美的 google analytics 替代品，几乎拥有全部其功能。而对于本来就使用 PHP + MySQL 架构的傻翠来讲，部署就更加简单。获取 PiwikPiwik 官网：https://matomo.org/下载地址：https://builds.piwik.org/piwik.zip如果已经搭建了 LAMP 或 LNMP 环境，则解压缩并配置好相应路由之后可以直接访问啦。比如傻翠的搭建地址就在 这里 。而且当然了，由于统计的服务器可以和网站服务器不一致，于是就把它放在了自己国内的阿里云服务器上，还是很舒服的。设置 Piwik首先系统会自动检查环境是否符合要求，傻翠使用的是 LNMP 环境，系统提示了一个 always_populate_raw_post_data = 1 的错误，于是需要进行相应修正之后再向下进行。解决方案是修改 php.ini 文件，其位置在 /usr/local/php/etc/php.ini ，使用vim打开后搜索always_populate_raw_post_data 将该行注释取消。保存退出后重启 LNMP lnmp restart 再次进入即可。之后是数据库设置和网站设置，相信能把站点搭起来的老油条们都会的。之后类似于 google analytics ，将相应的 js 代码放在网站最后，就可以开始测试和工作啦。效果图等过几天再贴吧 ~之后还有一些邮箱推送哇短信推送哇的拓展功能，不过没什么必要，也就不再折腾啦。不得不说不需要 google analytics 后，网站的访问速度快了不少，开心 ww

使用AWS时遇到的那些坑
type: item
date: 2019-03-10T17:01:00+08:00
description: AI 摘要：本文分享了作者在实习期间使用Amazon AWS搭建小程序后端时遇到的一些问题和解决方案。作者首先介绍了在后端数据库选择上，从RDS转向Dynamodb的过程，以及Dynamodb作为键值型NoSQL数据库的局限性。接着，作者讨论了后端Handler的选择，包括Elastic Beanstalk、Api-Gateway和Lambda等服务的优缺点。最后，作者总结了最终采用的Api-Gateway + Lambda + Dynamodb架构，并表示AWS是一套强大的云管理工具，适应后会越用越顺手。展开Powered by AISummary and MoonShot KimiChat.之前在Amazon实习XD也算是免费体验了Amazon AWS的全套产品XD应该也算是很宝贵的经验了噗哈哈哈~毕竟AWS还不是我这种学生消费得起的趁着刚刚离职还热乎着的时候，把所遇到的一些坑都先记录下来把ww万一有人要用到AWS呢~任务描述当时的任务是借助AWS搭起来一个小程序的后端，很简单对不对ww但是AWS就是在其中创造了数不胜数的坑接下来我们从后端管理的源头——数据库开始，一点一点梳理我在这几个月来遇到的坑后端数据库RDS在后端数据库的选择上，最开始还是希望能按照传统的SQL数据库的方式进行后端数据的操作（毕竟是迁移，省一点事是一点事）AWS的RDS也确实比较给力，基本完成了自己想要的功能，相关的访问权限什么的也比较容易管理但是！就是！太他妈贵了啊！一看费用账单全是RDS的费用惊即使是最小的数据库配置也死贵的 家里没矿不要用鸭哭QAQDynamodb这个时候Amazon自研的Dynamodb就要华丽出场啦wwDynamodb是“一个键/值和文档数据库，可以在任何规模的环境中提供个位数的毫秒级性能。它是一个完全托管的多区域多主数据库，具有适用于 Internet 规模的应用程序的内置安全性、备份和恢复和内存缓存。DynamoDB 每天可处理超过 10 万亿个请求，并支持每秒超过 2000 万个请求的峰值。”——来自官网的xjb吹我来翻译一下，就是这是一个NoSQL的，键值存储的分布式数据库（而且价格还可以）但是！注意！这货是键-值型NoSQL数据库！键值数据库不支持JOIN和两键以上多键查询！键值数据库不支持JOIN和两键以上多键查询！键值数据库不支持JOIN和两键以上多键查询！给我他娘的记住咯QAQ即使是两键或非主键查询，也是要通过新建子查询的方式（也就是另交钱）来进行。而且因为是键值型，很多相关的前端业务逻辑和接口都需要重新定义（或者你也可以靠一副好肝在后端重写）后端HandlerElastic Beanstalk最开始所想到的是AWS的Elastic Beanstalk服务，因为这是一个直接封装了应用程式和运行环境的工具，只要上传代码就可以访问到相关服务，听起来相当便捷了。但是在我国，这套服务的最大痛点是：无法提供HTTPS+备案的环境，而微信接口要求接口域名必须要HTTPS+备案的环境才可以使用和AWS再三确认过了，Elastic Beanstalk暂时（2018年12月）无法提供443端口的开放orz于是这套计划也成功破产，当然迁移当时也因为这个pending了两个月Api-Gateway + Lambda先说Lambda，这个服务的功能还是蛮强大的，提供多种编程语言的直接运行诸如Nodejs, Python的环境（但是没有世界上最好的语言PHP），只要上传代码就可以进行相关操作（这样听起来有点像EB，当然事实上在分类的时候他们也是被Amazon分在同一类的）但是重点是：Lambda似乎不支持操作RDS，在技术选型的时候需要谨慎考察一下我所实验过的是至少Lambda支持Dynamodb和S3，但是RDS似乎没有找到再说Api-Gateway，这个服务提供了统一的对外API接口，通过这个接口连接到Lambda，就可以对用户的请求进行响应。Api-Gateway由于是网关层，重点依旧是在备案上，Amazon内部是可以通过直接进行备案Exception的申请来实现备案的，其他公司接入的如何进行备案就不是很了解了。总之备案过了之后Api-Gateway才会开放，之前不要怪人家总返回502（在这里试了很久直到问了AWS的人）至于怎么将两者连接，可以直接在Lambda中选择蓝图（blueprint）进行模板式的创建，这样会自动生成一个相连接的Api-Gateway，还是比较便利的最终最终还是在离职之前完成了这个任务，总体的后端架构就是 Api-Gateway + Lambda + Dynamodb，和团队预算也比较相合，另外也可以成功跑起来并减少了层与层之间的耦合，还是比较舒服的。总体来说最开始虽然吐槽AWS吐槽的很厉害，但后期其实觉…

LNMP环境下fileinfo扩展的安装
type: item
date: 2018-11-07T01:20:00+08:00
description: AI 摘要：本文介绍了在LNMP环境下安装fileinfo扩展的步骤。首先进入lnmp源码文件夹，解压相应版本的php源码包，然后跳转到fileinfo源代码目录。接下来执行phpize、configure、make和make install命令，最后修改php.ini文件并重启php-fpm。参考资料提供了更多详细信息。展开Powered by AISummary and MoonShot KimiChat.进入lnmp源码文件夹 cd ~/lnmp1.5-full/src/php-5.5.38解压相应的php版本的源码包 tar -xjvf php-5.5.38跳转到fileinfo源代码目录 cd php-5.5.38/ext/fileinfo/执行 /usr/local/php/bin/phpize执行 ./configure --with--config=/usr/local/php/bin/php-config执行 make && make install修改php.ini文件 vi /usr/local/php/etc/php.ini 在末尾增加extension = fileinfo.so重启php-fpm ,systemctl restart php-fpm参考资料https://www.jianshu.com/p/17e3abcce44a

从零开始折腾博客(3)：一键安装脚本LAMP.sh搭建Wordpress站点
type: item
date: 2017-11-04T11:05:00+08:00
description: AI 摘要：本文介绍了如何使用LAMP（Linux+Apache+MySQL+PHP）一键安装脚本lamp.sh来搭建Wordpress站点。通过详细的步骤，包括安装依赖环境、下载并运行脚本、配置MySQL数据库以及设置网站目录权限，最终实现Wordpress的快速安装和配置。展开Powered by AISummary and MoonShot KimiChat.什么是LAMPLAMP：Linux+Nginx+MySQL+PHP，为动态网站的搭建提供了一系列的平台支持。Linux作为我们环境的操作系统， Apache作为HTTP服务器，负责生成静态的HTML文件并发送 MySQL作为数据库，负责存储我们网页的相关信息 PHP作为Wordpress的支持语言，为Wordpress的编译提供环境我们在上一篇文章中尝试了一步步用LNMP进行Wordpress的搭建，而LAMP只是将其中的Nginx换成了Apache。今天我们尝试使用脚本进行Wordpress的一键搭建，可以帮助我们节省不少的时间与精力。搭建LAMP我们选用的脚本是lamp.sh，该项目由teddysun创建，已在github上开源源代码https://github.com/teddysun/lamp介绍页https://lamp.sh/以下内容大部分来自于介绍页，有根据自己情况的更改。自己的主机环境为CentOS6搭建依赖环境yum -y install wget screen gitgit clone 并赋予脚本执行权限git clone https://github.com/teddysun/lamp.git cd lamp chmod +x *.sh开始安装screen -S lamp ./lamp.sh安装过程就这么结束了hhhh列一下各个程序的目录MySQL 安装目录: /usr/local/mysqlMySQL 数据库目录：/usr/local/mysql/dataMariaDB 安装目录: /usr/local/mariadbMariaDB 数据库目录：/usr/local/mariadb/dataPercona 安装目录: /usr/local/perconaPercona 数据库目录：/usr/local/percona/dataPHP 安装目录: /usr/local/phpApache 安装目录： /usr/local/apache默认的网站根目录： /data/www/default安装Wordpress环境搭建好后就可以进行Wordpress的安装下载# yum install wget # wget https://wordpress.org/latest.tar.gz # tar -xzvf latest.tar.gz将wordpress目录下的文件移动到网站的根目录/data/www/default下并覆盖目录# mv /data/www/default /data/www/default_old # cp -rf ~/wordpress /data/www/default # cp -rf /data/www/default_old/phpmyadmin /data/www/default/phpmyadmin启动前配置首先需要设置MySQL并创建一个数据库# grep 'temporary password' /var/log/mysqld.log # mysql_secure_installation # mysql -u root password '...' # mysql -u root -p mysql> CREATE database wordpress之后需要对网站目录的权限进行一下设置# chown -R apache:apache /data/www/域名/启动之后访问 http://主机ip/wp-admin/install.php ，进行Wordpress的五分钟安装数据库名称填之前创建的数据库名(wordpress)这样网站就搭建好啦~开始使用啦~

从零开始折腾博客(2)：LMAP搭建Wordpress博客
type: item
date: 2017-11-04T09:47:00+08:00
description: AI 摘要：本文介绍了在CentOS7系统上使用LNMP（Linux+Nginx+MySQL+PHP）环境搭建Wordpress博客的步骤。包括安装开发者工具包、Nginx、PHP-FPM、MySQL（或MariaDB），配置Nginx和Wordpress，启动相关服务，并设置开机启动。最后，通过访问特定URL完成Wordpress的安装。展开Powered by AISummary and MoonShot KimiChat.既然硬件和框架都已经选好了，那下一步就是要搭建相应的环境。这次我们所选用的环境是LNMP：Linux+Nginx+MySQL+PHPLinux作为我们环境的操作系统， Nginx作为HTTP服务器，负责生成静态的HTML文件并发送 MySQL作为数据库，负责存储我们网页的相关信息 PHP作为Wordpress的支持语言，为Wordpress的编译提供环境本文的安装环境为CentOS7，其他Linux系统可以做一些修改下面我们开始吧环境安装开发者工具包# yum group install "development tools" -ynginx# yum install nginx -yPHP-FPM# yum install php -y # yum install php-fpm -yMySQL# yum install mysql -y # yum install mysql-devel -y # yum install php-mysql -y上面安装的只是MySQL的支持组件，其中的MySQL的系统默认使用的是MariaDB。具体的原因MySQL因为被Oracle收购，有潜在的闭源可能性。为了防止意外，社区fork出了一个开源版本MariaDB。如果你有安装MySQL Server的执念，按照以下步骤：# yum install wget -y # wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpmm # rpm -ivh mysql57-community-release-el7-11.noarch.rpm # yum install mysql-community-server接下来启动MySQL服务# systemctl start mysqld获取随机密码，修改密码，进行登录# grep 'temporary password' /var/log/mysqld.log # mysql_secure_installation # mysql -u root password '...' # mysql -u root -p创建一个MySQL数据库用来放置Wordpress# CREATE database wordpress相关设置nginx设置# vim /etc/nginx/nginx.conf将其中相关内容取消注释并进行更改 location / { root html; index index.php index.html index.htm; } location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; include fastcgi_params; }wordpress设置# yum install wget # wget https://wordpress.org/latest.tar.gz # tar -xzvf latest.tar.gz将wordpress目录下的文件移动到nginx的根目录下，一般为/usr/share/nginx/html/# cp -rf ~/wordpress /usr/share/nginx/html/启动# systemctl start nginx # systemctl start mysqld # systemctl start php-fpm这是CentOS7中的命令，CentOS6中可以用service xxx start命令。还可以设置开机启动，相应命令# systemctl enable nginx # systemctl enable mysqld # systemctl enable php-fpm之后访问 http://主机ip/wp-admin/install.php ，进行Wordpress的五分钟安装数据库名称填之前创建的数据库名(wordpress)就可以开始使用啦~

XAMPP+PhpStorm+Xdebug调试本地网页
type: item
date: 2017-11-01T02:23:00+08:00
description: AI 摘要：本文介绍了如何配置XAMPP、PhpStorm和Xdebug来调试本地网页。首先，安装并配置XAMPP，启动所需服务如Apache和MySQL。接着，安装PhpStorm并进行破解。然后，下载并配置Xdebug，修改php.ini文件。最后，在PhpStorm中设置PHP环境和调试选项，并在浏览器中安装xdebug helper插件。完成这些步骤后，即可在PhpStorm中进行网页调试。展开Powered by AISummary and MoonShot KimiChat.因为要折腾自己的Wordpress博客，所以不得已入坑了世界上最好的语言qwq第一步就是所说的配置本地的调试环境啦~总不能一上来就在服务器上写吧orz经过一番资料的考察最终选择了XAMPP+PhpStorm+Xdebug的解决方案，也在这里把自己的过程记录一下~XAMPP配置XAMPP是一个把Apache网页服务器与PHP，Perl以及MariaDB集合在一起的安装包。通过这个安装包，我们可以轻易在自己的电脑上建立网页服务器，调试自己的网页。XAMPP的安装比较简单，官网在https://www.apachefriends.org/zh_cn/index.html ，下载时候按照提示一直安装就好了。安装后打开XAMPP Control Panel，界面如图按照自己的需要选择服务start就好了，比如Wordpress需要的Apache和MySQL。有可能出现其他程序比如VM workstation占用端口的情况，去进程里做掉就可以打开了。要注意的是端口需要手动停止，单纯关闭XAMPP是不解决问题的。另外旁边的Explorer打开后其中的htdocs是网站的根目录，phpMyAdmin是phpMyAdmin的根目录。PhpStorm安装PhpStorm是由jetbrains所研发的Php IDE，下载安装也相对简单容易，官网https://www.jetbrains.com/phpstorm/破解的话分享一个网站 http://idea.lanyus.com/ 2017.10.29win版PhpStorm亲测有效，大家可以试试。如果挂了的话也麻烦告知一下。Xdebug安装网上的说法是XAMPP是内置Xdebug的，其目录在打开Explorer的phpext中，文件名是php_xdebug开头的.dll文件，然而也许是自己的php版本是7.1的缘故，并没有发现这个文件。于是需要去官网下载。官网https://xdebug.org/ ，需要按照自己对应的版本进行下载否则会报错。下载完成之后将文件放到phpext下，并修改phpphp.ini文件，在其最后添加如此代码.[xdebug] xdebug.remote_enable = On xdebug.remote_handler = dbgp xdebug.remote_host= localhost xdebug.remote_port = 9000 xdebug.idekey = PHPSTORM zend_extension="上面安装的文件(比如D:ProgramXAMPPphpextphp_xdebug-2.5.5-7.1-vc14.dll)"其中xdebug_remote_port的默认值9000有可能与其他应用发生冲突，建议修改为9002等值，相应的之后的端口值也需要作出修改。PhpStorm的设置PhpStorm的内置服务器存在bug，所以需要手动的配置先是对PHP的环境进行设置，设置位置在FILE-Default Settings-Languages & Frameworks中，PHP的选项中CLI Interpereter定位到上面提到的目录下的php.exe文件，系统会自动匹配其版本。注意为了一劳永逸，没有设置settings而是直接设置了default settings，否则就会出现之前自己的悲剧→明明以为自己设置好了最后发现是环境又重置了。接下来设置PHP设置下面的子设置Debug，其中Xdebug一项要的Debug port要改为刚才自定义的端口值(如9002)，如果是默认则不必做出修改。之后需要设置DBGp代理，在刚才的Debug选项下的DBGp Proxy中，IDKEY，端口值均与之前的设置保持一致(如PHPSTORM, 9002)，由于是在本地所以Host值是http://localhost/接下来需要设置项目的configurations，关注右上角的edit configurations，根据自己是调试网页还是调试项目选择PHP remote debug还是PHP Web Application。并进行具体的设置之后需要在浏览器(如谷歌，火狐)上安装xdebug …

从零开始折腾博客(1)：服务器，购买和配置
type: item
date: 2017-10-25T17:36:00+08:00
description: AI 摘要：本文介绍了搭建博客的第一步：选择和配置服务器。详细解释了独立服务器、VPS、云服务器和虚拟主机的区别，并讨论了国内外服务器的优缺点。文章还介绍了OpenVZ和KVM两种虚拟化技术，分享了作者使用的服务器和远程连接配置方法，包括安装和设置SSH。展开Powered by AISummary and MoonShot KimiChat.在上篇 从零开始折腾博客(0)：静态？动态？ 中，我们选定了相应的框架。接下来搭建博客的第一步，就是选定相应的服务器。博客总归是要跑在硬件上的，那么这期我们就要搞定相应的硬件。服务器概念辨析独立服务器独立服务器：顾名思义，就是一个躺在机房的实实在在的物理服务器，专属于你，和你家的主机没啥区别，除了24小时运行。不过既然是专属的，价格嘛...VPSVPS(Virtual Private Server)，虚拟专用服务器，是指将一个独立服务器通过虚拟化技术虚拟成多个虚拟专用服务器。在这上面你可以按照自己的要求装载自己的操作系统与软件。但是一旦套餐和配置选定，就无法再进行更改。云服务器Elastic Compute Service， ECS，看起来和VPS差不多，其实是有区别的。云服务器是一个大的集群服务器，相对的安全性和稳定性也要强，也有更好的灵活性，可以随时地扩充和进一步扩展。虚拟主机Virtual hosts(Vhost)，相当于几台虚拟主机共用一个环境，所以环境相对固定，一般是PHP+MySQL的技术栈，所以相对的灵活性较差，但也带来了容易维护的特性。下面的介绍具体是围绕着VPS展开的。国内？国外？根据服务器的位置，可以选择国内的服务器和国外的服务器。国内的服务器，相应的会容易付款，但如果绑定域名需要对服务器进行备案，相应的备案周期还不短。不过价格还算可以，并且备案后也可以结合国内的CDN平台对自己的网站进行加速。国外的服务器，有些支持支付宝付款等但有些不支持，但绑定域名不需要备案就可以解析。价格有些稍贵不过有相应的优惠套餐。不过如果无法备案也就无法结合国内的CDN平台进行加速，相应的访问速度也会受到影响。不过可以做一些除了网页之外的东西(比如搭梯子等等)OpenVZ？KVM？所说的OpenVZ，KVM，指的是不同的虚拟化技术。既然是虚拟的，就是要将实际的服务器分隔成虚拟的服务器。而OpenVZ和KVM就是分割的不同方法。对于OpenVZ来说，它的主要优点是支持IPv6，并且能获得更高的CPU表现性能。但是事实上这种架构往往超售严重，稳定性不是很强，事实上不是很推荐。对于KVM来说，它是一个全虚拟化的方案，同时支持内核的BBR加速和docker，有更高的独立性。个人用的服务器介绍自己在用的服务器是搬瓦工的VPS，官方的主页 https://bandwagonhost.com/。当时选用它的原因是有2.99美元的套餐。512M内存+10GSSD硬盘，对于学生党来讲还是可以承受的起的(虽然现在好像已经没有了)，并且支持支付宝付款，相对比较便利(还可以用来搭梯子美滋滋~国内也用过阿里云的ECS，主页 https://www.alibabacloud.com/zh 。对于学生党有10元/月的1G内存+40GSSD的超值套装，不过如果想要搭载域名需要进行备案，相对会麻烦一点。同时也用过新浪的SAE(Sina Application Engine)，主页 https://sae.sina.com.cn这个是新浪帮你把所有的环境都搭建好了，不需要什么基础，但相应的可拓展性就差了很多，不过也不需要维护，同时还可以使用它的二级域名，对于懒得折腾的同学相对比较方便。对服务器进行远程连接服务器购买好了，下一步就是要用自己的主机连接到服务器上了。虽然一些VPS也提供相应的远程操控设置，但是其界面有的不支持中文，也有各式各样的bug，不如自己搭SSH方便。在本地端的SSH连接客户端有很多啦，这里选用的是XShell，对于家庭和学生使用是免费的，官方主页 https://www.netsarang.com/products/xsh_overview.html配置安全组策略对于有的VPS或虚拟主机如阿里云，需要配置相应的安全组策略，开放其80和443端口，同时开放一个自己电脑与VPS相通信的端口。设置远程连接SSH安装openssh登录VPS中的远程操纵的页面，对服务器输入以下指令yum install openssh-server设置openssh在文件 /etc/ssh/sshd_config 中Port 23333 #设置PC和服务器间通信的端口号设置XShell从官网下载安装并打开XShell后，会要求建立一个连接，其中的端口名填写为上面设置的端口号。之后将选项转到用户身份验证，填写登录的用户名和密码(用户名…

从零开始折腾博客(0)：静态？动态？
type: item
date: 2017-10-23T20:00:00+08:00
description: AI 摘要：文章介绍了静态网页和动态网页的区别及其各自的优缺点。静态网页内容固定，加载速度快，安全性高，但交互性差；动态网页内容动态生成，功能强大，交互性好，但需要更多系统资源，安全性相对较低。文章还提到了一些常见的博客框架，如WordPress（动态）和Jekyll、Hexo（静态），并提供了选择框架的建议。展开Powered by AISummary and MoonShot KimiChat.这两天心血来潮，忽然想折腾一个属于自己的博客，也就是这一系列的缘由。而最终也总算是折腾出来了，要不你就不会看到这篇文章了可在这折腾博客的第一步：选择框架上，作为一个选择困难重症患者，自己首先就犯了难：选什么样的博客框架好呢？仔细查了查资料，发现博客网站框架总的来讲分成静态和动态，分别生成的是静态网页和动态网页。那到底静态网页和动态网页都是啥呢？咱们这就来仔细掰扯掰扯吧。区分动态和静态所谓“动态”，不是说有个flash动画有个视频，网页“动”起来就叫叫动态的 2333 动态和静态的主要区别，是指网页的页面是恒定不变的还是由程序动态生成的。我们知道，浏览器其实就相当于一个编译器，将服务器传来的文件“翻译”成我们所看到的网页形式。对于静态网页来说，对于一个固定的请求，服务器传来的文件是恒定不变的。而对于动态网页来讲，在收到一个请求后，服务器会调用相应的程序，程序再结合其数据库，动态生成所需要传回的文件，再传回到客户端由浏览器生成相应的页面。当然，在Ajax(异步JavaScript+XML)技术出现之后，所说的静态页面也允许客户端的 JavaScript 脚本为局部页面提供请求服务，然后可以在无需回到服务器情况下动态刷新部分页面，其实也就是实现了部分的动态化。当然，和动态页面能实现的功能相比，Ajax还是有所欠缺。知道了动态和静态的区别之后，他们的优势和劣势也就显而易见了。动态和静态的优势劣势从内容上讲，由于(纯)静态网页只是将既有的文件发回客户，所以其网页的内容是固定的；而动态网页由于网页是动态生成的，所以可以做到对于不同的用户，在不同的时间显示不同的内容。所以从功能上讲，动态网页相较于静态网页，能实现更多更强的功能，比如对数据库的支持。另一方面，从源代码的角度来说，静态网页的源代码是完全公开的，这就导致别人的复制相对容易；而动态网页的html页面是动态生成的，浏览器显示的源代码无法显示其后端处理的过程，而后端处理的代码是无法或很难获取到的。所以总体来讲，静态网页的优势在于无需大量的系统资源(去进行生成网页的过程)，并且浏览打开的速度很快。同时由于只有网页，也相对安全而不易崩溃；同时利于搜索引擎的抓取和处理；而相比之下，动态网页的优势就体现其优秀的交互性，并且由于动态的生成涉及到数据库，使得整个日常维护和结构的更改和迁移变得容易。对于博客系统来讲，无论是静态还是动态都有着很多优秀的框架。动态框架如wordpress，静态框架如Jekyll，hexo等，都是很不错的选择。最后我们再以一张表格总结一下， (纯)静态网站动态网站内容网页内容固定网页内容动态生成功能少，弱多，强源代码完全公开无法获取工具HTML+CSS+JavascriptASP/PHP/JSP数据库不支持支持优点无需系统实时生成 利于搜索引擎抓取 浏览打开速度快 安全，不易崩溃交互性强 日常维护简单 结构更改方便缺点交互性弱 日常维护繁琐 结构更改较不方便需要大量系统资源 不易被搜索引擎抓取 浏览打开速度慢 易遭受攻击不知看到这里，你是否选定了自己的框架~祝大家都能搭出自己心仪的博客~