黄月一弯,躲在乌烟瘴气之外,朦朦胧胧。
远处的烟花不时从楼缝间跳出,嫣然一笑,转头隐去,留隆隆的呼喊在林宇间混合、反转。
耳机里送来熟悉的旋律,悠扬又凛冽,随着我的脚步婉转起伏,飘然四散…
]]>下载 PHP8.0 版本的 XAMPP,提取其中的 php
文件夹,改名为 php8
放到原 XAMPP 根目录,为了不与原 php
文件夹重名。
下载对应 8.0 版本的 extension
到 xampp/php8/ext
。
修改 xampp/php8/php.ini
启用需要的 extension
。
修改 xampp/php8/php.ini
内文件路径参数,基本都以 \xampp
开头,修改为实际的绝对路径。
修改 xampp/apache/conf/extra/httpd-xampp.conf
。
1 | # LoadFile "D:/xampp/php/php7ts.dll" |
并且把其余所有 php7_module
改为 php_module
。
关闭 apache,把 xampp/php
改为 xampp/php7.4
,把 xampp/php8
改为 xampp/php
。
启动 apache。无法正常启动的话运行 xampp/apache_start.bat
,可以看到报错信息。
Ubuntu20.04 服务器在公司内网,不能连接 Internet,需要在内网搭建 apt 源方便服务器管理。
用来搭 apt 源的机器是 Win10,只能通过特定的 http 代理才能连接 Internet。
在 Win10 内新建 Ubuntu 虚拟机,设置好 Ubuntu 里 apt 的走公司的 http 代理。
虚拟机里安装 apt-mirror:
1 | sudo apt-get install apt-mirror |
修改 apt-mirror 配置文件:
1 | sudo vim /etc/apt/mirror.list |
默认是下面这样:
1 | ############# config ################## |
设置项不做修改,把源改成国内比较快的
1 | ... |
因为 apt-mirror 是用 wget 进行下载,修改 /etc/wgetrc
给 wget 设置好代理。
1 | ... |
准备好硬盘空间,我没下载源码 deb-src
,用掉了将近 200G。
然后运行
1 | sudo apt-mirror |
耐心等待。
下载完成后安装 Apache、Nginx 或其它 http 服务,将下载好的文件用 http 发布出来。
注意链接地址(按我上述设置的话) http://your.address/ubuntu/
对应目录 /var/spool/apt-mirror/mirror/mirrors.aliyun.com/ubuntu/
原因:apt-mirror 版本太老
1 | ls -l /usr/bin/apt-mirror |
解决:把 /usr/bin/apt-mirror
用 https://github.com/Stifler6996/apt-mirror
的替换。
原因:mirror.list
默认设置只下载与本机相同架构的内容 set defaultarch <running host architecture>
解决:在用此 apt 源的机器上设置 sources.list
时,在 deb
和 http
中间加 [arch=amd64]
问题:如何让 apt-mirror 同时下载 64 和 32 位的内容?
]]>Laravel (版本 5.5) 部署在内网,服务器 (win10-xmapp-php7.2) 只能通过特定的 http 代理访问外网。
如何让 Laravel 通过代理连接 mailgun 从而发送邮件?
开始找了两个论坛提问,都没有得到有效的答案。后来决定深入学习一下 Laravel 发送邮件这方面的东西,结果碰巧一下就找到解决方案了。
感谢《说一说 Laravel 邮件发送流程》
作者 coding01
在这篇文章里找到配置 mailgun 的代码位置,是在 TransportManager
类的 createMailgunDriver()
方法中
1 | /** |
其中有个 $this->guzzle($config)
,感觉有门,肯定是 guzzle 相关的东西,而且还传入了个$config
。
继续找 guzzle()
方法,代码如下
1 | /** |
再继续找HttpClient
,代码如下
1 | class Client implements ClientInterface, \Psr\Http\Client\ClientInterface |
找到啦!
在 new HttpClient()
的时候可以传入 $config['guzzle']
设置 proxy。
而这个 $config
就在前面的 createMailgunDriver()
方法里,是 $config = $this->app['config']->get('services.mailgun', []);
。
在 config/services.php
文件中给 mailgun
增加 guzzle
的 proxy
配置,如下
1 | 'mailgun' => [ |
然后在 .env
文件中设置好 MAILGUN_PROXY
就行了。
1 | MAILGUN_PROXY=address:port |
ps. 如果需要的话,别忘了运行 php artisan config:cache
镜像用的 php:7.2-apache,里面操作系统是 Debian。开始搜索的方向一直是如何给 Debian 设置开机启动,方向偏了。
Debian 旧版本:在 /etc/rc.local
文件中 exit 0
之前的位置添加自己需要的命令。
Debian 新版本:在 /etc/init.d/
下新建符合格式要求的脚本文件,然后用 update-rc.d
命令设置脚本运行的优先级。
这两种方法我都遇到了各种问题。
第一种方法需要先添加 rc.local 服务,这步没问题,但是之后需要用 systemctl 启用并启动这个服务。在容器中用 systemctl 的话需要在容器启动时添加额外的参数,因为我用的 docker composer,感觉很麻烦,放弃了。
第二种方法按搜到的各种步骤做完之后,自定义的脚本没有被添加到各个 /etc/rcX.d/
目录下,可能因为没使用 systemctl 命令,也可能因为这个容器修改了操作系统的配置,进行了限制(修改 /usr/sbin/policy-rc.d
的返回值不管用)。后来没再细究。
之后又尝试在 docker-compose.yml
中用 CMD
命令覆盖容器默认的启动命令,可能是命令写的不对,导致容器启动不了了。
这时,想到了现在我用的方法。
把自定义的启动命令写到容器自带的启动文件里。 php:7.2-apache 这个镜像是 /usr/local/bin/docker-php-entrypoint
如此一直正常用了挺长时间,最近突然出问题了。网络策略会检测电脑上是否有360的主动防御,没有的话就断网。
怎么办?
其实答案是呼之欲出的。给电脑一个容易掌控的360主动防御。
安装360安全卫士。关掉开机启动,并按照自己的意愿进行其它设置,最后退出360安全卫士。主动防御进程会一直在后台运行的。
其实还有其它更彻底的方法,例如安装虚拟机,让虚拟机满足网络策略并接受检测,物理主机通过虚拟机来连网。有兴趣的朋友可以研究一下。
鉴于这种方法过于生猛,建议慎用。
]]>若确实已经启用 CPU 虚拟化,仍有此问题,解决方案:
添加如下参数 (不检查虚拟化是否已启用)
1 | --virtualbox-no-vtx-check |
①手动执行简单命令
1 | docker-machine create default --virtualbox-no-vtx-check |
或者
②修改 DockerToolbox 自带的启动脚本
修改 start.sh (在 DockerToolbox 的安装目录下)
找到这行
1 | "${DOCKER_MACHINE}" create -d virtualbox $PROXY_ENV "${VM}" |
改为
1 | "${DOCKER_MACHINE}" create -d virtualbox $PROXY_ENV --virtualbox-no-vtx-check "${VM}" |
朋友圈里不只朋友的广告,还有腾讯的广告。朋友的可以设置为不看,腾讯的可以设置为不看吗?
可以。
方法如下:
实测 有效。
也可以用QQ登陆,把QQ的部分广告关掉。
还有一句提示
请注意,关闭上述服务意味着我们的广告系统不会再利用该类信息为您展示广告,但不代表您将减少看到的广告或不再看到广告。在关闭该项服务期间,您仍可能收到普遍投放的广告。
]]>
app\build\intermediates\instant_run_split_apk_resources\debug\instantRunSplitApkResourcesDebug\out\slice_1\resources_ap
在设置里关闭 instant run ,能正常跑。
再次打开 instant run 之后,还会报上面同样的错误。
解决方案:
把 gradle 升级到 5.4 (我的升级之前是5.1.1)
在这里记录一些关于 PHP 的笔记。
1.需要手动安装两个包
1 | npm install less --save-dev |
2.因为less3.x暂不支持 javascriptEnabled ,需要修改 less-loader/dist/index.js
在 var options
后面加上 options.javascriptEnabled = true
3.如果想自定义 webpackConfig 可以使用 mix.webpackConfig()
参数的结构可以参照 node_modules/laravel-mix/src/builder/webpack-default.js
Ant Design of Vue 定制主题示例:
1 | mix.webpackConfig({ |
(此示例中 javascriptEnabled: true 与上面第2条添加 options.javascriptEnabled = true 的作用相同,可二选其一)
最后在 webpack.mix.js
文件中使用 mix.less()
即可
这个问题多半发生在 Apache上,因为加载.env文件的时候用了 getenv() 和 setenv() 。
这两个函数不是线程安全的,它会将.env文件里面的值设置在进程级别的环境中(process-wide variable)
Apache 使用线程处理请求,当一个进程同时有几个线程的时候,就比较容易发生 ‘串值’ 的情况
解决方案:
执行 php artisan config:cache
在 PHP 中用正则匹配 \
需要用四个反斜杠,即 '/\\\\/'
,用两个的话会在 PHP 解析字符串时被解析为一个。
PS. 貌似,用三个也可以。
]]>https://www.php.net/manual/zh/function.json-encode.php
https://www.php.net/manual/zh/ini.core.php#ini.serialize-precision
https://wiki.php.net/rfc/precise_float_value
https://segmentfault.com/a/1190000008737065
http://landcareweb.com/questions/11885/php7-1-json-encode-floatwen-ti
许多企业(可能主要是国企)在内部电脑上强制安装360天擎。
企业固然是想保证内部机器和网络的安全,但是360这货……大家懂的。
想退出?请输入密码。
想卸载?请输入密码。
但是我没密码……
1.在360的安装路径下删除所有文件名中包含 ent 的文件和文件夹。
可以直接使用360自带的文件粉碎机,也可以找其它工具软件,或者进 pe 删。
默认路径安装的话,这些文件在C:\Program Files\360\360Safe,或C:\Program Files (x86)\360\360Safe里面。
见上图,共6个文件和1个文件夹。
2.到系统的控制面板正常卸载即可。
]]>参考来源:
每到岁末年初,总是希望整理出一篇长长的年终总结。回望这二零一八,貌似清淡如水,波澜不惊。
乖巧可爱,看着她一天天长大,甚是欢欣。
又献了一次血,貌似状态不如去年。照现在这状态下去,怕明年是够呛了。
各种因素影响,进展非常缓慢。其实最主要的原因还是缺少明确的愿景。
一时兴起想搞一下,是自己幻想的画面太美,实际发现太难。
状态持续低迷,原因比较多,不知新的一年能有多少起色。
]]>自己目前在用的墙内同步 Chrome 书签的方案,略显啰嗦,但用了一段时间,还算稳定,贴出来,希望能帮到有缘人。
遥想当年,谷歌还在国内的时候,真好。后来随便弄个 IP 弄个 host 就能用 Google 的日子也不错。现在嘛,我就想知道政府每年花在 伟大防火长城 上的钱有多少……
需求:Windows 系统、只同步书签即可、有至少一台电脑不能/不想/不方便番羽土啬。
工具:坚果云、FreeFileSync。
本来想自己搞一个 Chrome 拓展,服务端找个免费的云存储,做成的话还可以稍微推广一下。后来考虑投入产出比,放弃了。有心思用这东西的人,应该都有办法连到 Google 的服务器同步吧。
坚果云可以选择性同步文件夹(v3.4.4及以前),但是不能对同一文件夹下不同文件进行选择性同步。
FreeFileSync 可以近“实时”的同步本地目录,同步规则几乎可以“任意”设置。
方案:用 坚果云 在不同电脑间建立同步文件夹,每台电脑都用 FreeFileSync 把 Chrome 的书签文件(未登陆的话在安装目录下 Data\Profile\Default 里面,文件名Bookmarks)同步到 坚果云 的同步文件夹内。
大功告成。
]]>为何入党,想想最开始的时候其实没有一个十分明确的目的。
对党的认识也比较少,基本局限在学校里学的“没有共产党就没有新中国”,思想政治课上的马列主义,毛泽东思想。当时申请入党的动机包含着一些“随大流”的思想,知道是件好事,是个值得光荣的事。共产党是工人阶级先锋队,是中国的执政党,是全国一大批先进的、优秀的人所组成的一个大集体。现在仔细想想,当时入党的动机就是对这个先锋集体的追随,对这个引领祖国不断前进的力量的敬仰。
随着时间久了,阅历逐渐积累,对这个事也逐步有更深刻的认识。入党是一种向上的追求,入党也是一种实现个人人生价值的途径和平台。在历史的长河中,个人的存在是渺小的;在广大的社会里,个人的力量是单薄的。党组织就是要把一个个渺小又单薄,但是内心坚定着理想和信念,有志为社会、为祖国甚至为全人类做出贡献的这些个体聚拢到一起,连成片、织成网,形成一股无坚不摧的力量。个体,投身其中,便是加入了先锋的队伍,与志同道合的伙伴一起,站在更高的平台上发光发热,照亮更远更广的范围。
党员,必须要有坚定的共产主义理想,不一定非得按课本上一字不差的教条,但内心深处一定要有一股为无产阶级事业奋斗的正直和决绝;有一种为人民服务、解放劳苦大众的奉献和博爱;有一份努力把当下社会变的更加平等、和谐、美好的责任感和使命感。
]]>今天单位组织,集体观看《厉害了,我的国》,要求着工服。
影院墙上的宣传牌,道:“欢迎各企事业单位包场观看《厉害了,我的国》,联系电话#######”。
1、凡事分阴阳,首先要知道这个是“好事”的集合,不表其他。
2、把近来祖国的各种先进拿出来,伴着朗诵,和着背景乐,有燃点,可以看。
3、习近平主席的镜头贯穿始终。
4、该影片在豆瓣无法评分,其他媒体一致好评,很难看到有网友给出差评。
5、我是中国人,我爱我的祖国,愿它越来越好。
]]>又走完了一年。
每天上下班往返路上,只听引擎呼吸,世间寂静,有时酣眠四海,有时神游五洲,想了很多,也忘了很多。
一天,突然意识到自己为何如此珍视过往的记忆,只因我正一点点将它们忘记。
本早已计划好,准备等正用的万网主机明年到期之后把博客程序改成 Hexo。奈何计划不如变化,九月底阿里云邮件通知屏蔽了我一篇文章的链接,顿时满满的厌恶感升腾而起,之前了解到的关于阿里的【恶】尽从脑海里跃起一条条在眼前打了个滚。
本地安装 Hexo 程序,装插件装主题,改设置调样式。从原主机扒文章数据,,手动恢复分类和标签数…手动恢复文章链接…好顿一折腾。一开始把博客放在了 GitHub Pages 上面,除了速度劣势其他一切都好。因为想恢复之前的 Bing Background,又正好赶上不久前 coding.net
提供了免费动态页面服务,便把服务端的动作放在了 coding.net
。于是乎,把博客也一起放过来了,速度快了不少,但多了首页硬性的广告链接,不过也还算厚道。
这个东西几乎贯穿了我 2017 的一整年,也消耗了大多数的业余时间。从最开始突发奇想的练手项目,到现在内部的小规模应用,总算不枉一番心血。
有点遗憾的是框架的功能几乎没怎么用到,当然也因为学的少,也没学会。
细细想来,这一年收获几何,长进几何,心中一凉,闭眼思索。
再往窗外眺去,对面小区里有一人在夜跑。
今年顺利评上了职称。
回头想想前几年在西北时候满脑子的愿景,也无非当前的样子。一家人在一起,和睦;工作上算稳定,温饱;业余时够自由,充实。
听了半天,有收获,有思考。
貌似,仅限于那一会。
《看见》才读了一半。
在这里只剩下莫谈国是。
千万要记得,彼岸别有一番风景。
这世界像一座巨大无比的时钟,无数的齿轮相互咬合,圆转不息。人们被卡在一个一个齿缝里,慢不得,快不得,停不下,逃不脱。
]]>博客由 Typecho 换成了 Hexo,记录一下改动内容,以备下次重装……
程序版本:
Hexo 3.4.3
NexT.Gemini 5.1.3
hexo-deployer-git
hexo-generator-feed
hexo-generator-searchdb
hexo-generator-sitemap (将 sitemap.xml
拷贝到根目录 改名为 sitemap_template.xml
)
/themes/next/source/css/_schemes/Pisces/_sidebar.styl : line 4
1 | // margin-left: -50%; |
/themes/next/source/js/src/utils.js : line 327
1 | // $('.site-overview, .post-toc').css('width', 'calc(100% + ' + scrollbarWidth + 'px)'); |
/themes/next/source/css/_custom/custom.styl : line 3
1 | // 去除侧边栏导致错位的 margin |
/themes/next/layout/_layout.swig : line 81
1 | <script type="text/javascript"> |
前几天九月底,阿里云给我发了一封邮件,主题:违规URL屏蔽访问处理通知
,通知我博客上一篇文章涉及【违法不良信息】,违反了相关服务协议和《互联网信息服务管理办法》第十五条规定
,已作出屏蔽访问处理。
喜迎十九大。
那么这篇文章的内容是什么呢?不过是一份早就过时没法用的 host 列表。当年网上随便一搜就能找到大把可用的 host,上个 Google,刷个 Twitter 什么的都行,那会我的域名还有博客主机都在香港一个小公司 ;收到这个邮件通知的到时候,已经很难在搜索引擎上简便的找到能用的 host 了,此时我的域名和主机都在阿里……
博客改成 hexo,放到 GitHub,域名从阿里迁出来,放到国外
各种途径纷纷失效,用的正爽的 Chrome 同步失效, Google 失联
谓其违法,法自何来
政治,一门重要的学问,于此,教育困于马列毛邓,社会止于新闻联播
本庄重严肃的事情,为何冠以喜字,喜从何来
长此以往
你选择等待,还是选择奋斗
星星之火,可以燎原
莫谈国是
]]>