研究

Laravel 框架 MySQL 运行报错: PDOStatement::execute (): MySQL server has gone away?

项目什么都没动,突然发现无法连远程的数据库了,只能连本地的,折腾了半天,连本地的都连不上了,简直像遇到了奇异事件。 用java程序连了一下,默认连不上,需要把usessl设为false,但是php对应的sslmode设为disable并不起作用。 尝试修改wait_timeout和connect_timeout也都无效,只是让等待的时间更长了。 直到在老同事刘明的提醒下,去查看laravel的日志,发现了这么一句:Unexpected server respose while doing caching_sha2 auth 于是,按这个问题去搜索,找到了https://www.cnblogs.com/qichao123/p/9719470.html 进到mysql,通过SELECT user,host,plugin FROM mysql.user; 确认我用的当前用户没问题,是mysql_native_password,于是继续配置my.cnf中的mysqld,添加: default_authentication_plugin=mysql_native_password 回来测试成功。

部署自己的ngrok1.7服务

非常感谢https://hteen.cn/docker/docker-ngrok.html 我的服务器是ubuntu,首先登录服务器,依次运行以下命令: 运行结果显示一个token 这样,在服务器的/root/ngrok目录下则有 bin/ngrokd 服务端 bin/ngrok linux客户端 bin/darwin_amd64/ngrok osx客户端 bin/windows_amd64/ngrok.exe windows客户端 还要增加一个nginx的站点配置,转发请求 在本地电脑执行命令,下载对应的客户端,我的是mac,所以: 然后在本地创建ngrok.yml文件,并填入以下内容: 然后在本地执行 ~/ngrok –config=ngrok.yml start weixin api 就启动了。

房租涨了,不要只怪中介

先说一下体会的来源,我是airbnb的超赞房东,先后经营三套房子,有自己的,也有朋友的,做airbnb的初衷很简单,房子是精装修,也很新,长租出去折旧很厉害,不划算,短租的话虽然麻烦,但可以保持房子的品质,相对长租,也可以有一些额外的收益。 简单算个账,一个一居的房子装修费在十万左右,包括硬装、软装、家具电器等。如果是自住,折旧周期可以按十年算,如果长租出去,恐怕最多只能按五年算。这样的话,平摊到每个月,就是至少一千元的差别。这还不考虑加上了折旧的房子后面的租金上升空间有限甚至降低。 就北京来说,当老旧的房子越来越少,新的房子越来越多,流动人口减少,稳定人口增加,对好房子需求也越来越多的情况下,吸引更多精装修的高端房源入市,但同时,这些房源对折旧的预期是很高的,一居室每个月要加上一千多的折旧,两居室就要加三四千。 那么,如何才能降低房东的折旧预期,以更低的价格租到好房子呢?那就是建立自己的信用,比如在airbnb上获得更多的好评,爱护你租的房子,无论是长住还是短租。实际上,对房子的爱惜,将降低总的成本,这个成本最终都是由房客自己承担的。 市场欢迎更好的房客,请尊重市场规律,请尊重自己,提高自己的生活品味,让每个房子都受到妥善的对待。

苟利国家生子以,岂因福祸避孕之

标题是最近网络未流行已被禁的一条改编版名言。 我的第二个孩子即将在10月出生,关于他的出现,我们几乎没有太多的纠结,尽管也明白因他而带来的更多的付出,但一个生机勃勃的家更加有吸引力。当然,就目前情况而言,第三个孩子的可能性是比较小了。 网络上有很多关于计划生育走向的传言,我们也曾经是限制二胎政策的遇难者,可是,作为个人而言,似乎没有太多的选择,也没有有效的抗争渠道,最有用的则是尽力保持家庭的生存能力。 新的生命总是无法预料,不断带来惊喜和挑战。在解决一个个问题的过程中,我们老去,直到因为死亡率百分之百的生命这个病而离世。(最后这句来自网络)我们依然还是期望着更加美好,而不断为之努力。  

过了这么久才遇到github资源域名被污染的情况

上周打开github突然发现样式无法加载,打开vpn才行,后来搜索才知道这个情况已经存在好多年了,不是封禁IP,而是DNS污染,这种情况适用自行定义hosts的方法。 即,在hosts文件中定义如下关系。 151.101.24.133 assets-cdn.github.com

使用iview的upload组件上传阿里oss的参数设置

下面是组件设置: 以下是相关的js方法: 以下是发放参数的api方法(laravel):

Visual Studio Code中使用Docker中的Xdebug

开发环境说明 IDE:Visual Studio Code DNMP:https://github.com/yeszao/dnmp 项目:laravel 开启xdebug 修改dnmp/php/php72/Dockerfile,添加以下两行(插在带\的任一一行后面即可,查看dockerfile编写规范): && pecl install xdebug \ && docker-php-ext-enable xdebug \ 修改dnmp/config/php.ini,在文件末尾添加以下内容: [xdebug] zend_extension=xdebug.so xdebug.remote_port=9000 xdebug.remote_enable=1 xdebug.remote_host=192.168.0.102 xdebug.remote_autostart=1 xdebug.remote_log=”/var/log/dnmp/xdebug.log” 其中192.168.0.102就是你的电脑的IP,也就是docker宿主机的IP,docker的端口都挂到宿主机IP上。xdebug默认是localhost,不改就访问不到了。也不要打开 xdebug.remote_connect_back=1,这会使得remote_host配置失效。 在vscode中安装PHP Debug插件,在调试选项卡中打开齿轮配置,即当前项目的.vscode/launch.json,对照以下内容配置: { // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 “version”: “0.2.0”, “configurations”: [ { “name”: “Listen for XDebug”, “type”: “php”, “request”: “launch”, “port”: 9000, “pathMappings”:{

Error starting userland proxy: mkdir /port/tcp:0.0.0.0:3306:tcp:172.19.0.3:3306: input/output error

在windows10/win10上使用dnmp:https://www.awaimai.com/2120.html 首先需要安装docker环境:https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe 装完以后在dnmp目录执行docker-compose up,启动失败,报错如标题,需要修改win10的快速启动设置,然后重启。修改方法见:https://www.tenforums.com/tutorials/4189-turn-off-fast-startup-windows-10-a.html

node版本太高

npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the dpexpo@1.0.0 dev script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. 出现的原因:node的版本太高,当我从node8升级到node10以后出现问题。

ECS之Ubuntu上使用docker部署Jenkins持续集成支持dnmp

第一步,创建容器: docker run -u root -p 8080:8080 -p 50000:50000 -v /root/docker:/var/jenkins_home –name j02 -idt jenkins 解释: 注意这里以root用户启动,如果使用默认用户jenkins则不需要加-u,但是可能会造成与dnmp之间的文件读写权限有麻烦。 与宿主机的共享目录设置为/root/docker,这个随便,其实放哪里都行,放这里为了登录进去以后方便找。 –name叫j02这个随便,是生成的docker的镜像名,开始那个叫j01,后来改root权限启动我改成了j02,无所谓。 端口绑定的是8080 执行命令docker logs -f j02查看容器的控制台日志,看到如下信息表示jenkins服务启动成功: Dec 31, 2017 6:29:24 AM jenkins.install.SetupWizard init INFO: ************************************************************* ************************************************************* ************************************************************* Jenkins initial setup is required. An admin user has been created and a password generated. Please use the following password