rpm --import https://mirror.go-repo.io/centos/RPM-GPG-KEY-GO-REPO curl -s https://mirror.go-repo.io/centos/go-repo.repo | tee /etc/yum.repos.d/go-repo.repo yum install golang
macOS 安装 go 语言环境
使用 Docker 镜像快速运行 Sentinel Dashboard
我们可以使用 Docker 镜像快速运行 Sentinel Dashboard
docker run -p 8858:8858 bladex/sentinel-dashboard

再使用默认的用户名/密码:sentinel/seltinel 登录,然后你就可以看到很强大的控制台界面了


基于 Docker 快速启动 Nacos
基于 Docker 快速启动一个使用 Derby 数据库、单机模式的 Nacos 用于测试
docker run -p 8848:8848 --env MODE=standalone nacos/nacos-server

使用浏览器打开启动提示中的 Console 地址:http://10.0.0.8:8848/nacos/index.html,输入默认用户名/密码:nacos/nacos,即可开始测试体验。

解决 PHP SoapClient 产生大量 CLOSE-WAIT TCP 连接
服务器上使用 PHP SoapClient 作为 WebService 客户端调用第三方接口,发现存在大量 CLOSE-WAIT 状态 TCP 连接。
解决办法是设置 keep_alive 参数,使 SoapClient 不保持连接,具体 PHP 代码如下:
<?php new SoapClient("http://webservice.test/", [ "keep_alive" => false, ]);
使 PHPUnit 支持 Session
当使用PHPUnit
测试的PHP
代码中包含session_start()
时,就会出现以下的错误提示:
PHPUnit 4.8.36 by Sebastian Bergmann and contributors. E Time: 110 ms, Memory: 12.00MB There was 1 error: 1) ExampleTest::testBasicExample ErrorException: session_start(): Cannot start session when headers already sent
解决办法是打开phpunit.xml
文件,设置processIsolation
属性为true
PHP WebSocket Server Demo
<?php $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); socket_bind($socket, "0.0.0.0", 9501); socket_listen($socket, 5); for(;;) { $client = socket_accept($socket); if (!pcntl_fork()) { $buffer = socket_read($client, 2048); $headers = explode("\r\n", $buffer); foreach($headers as $header) { if (strstr($header, "Sec-WebSocket-Key:")) { $key = trim(str_replace("Sec-WebSocket-Key:", "", $header)); $accept = base64_encode(sha1($key . "258EAFA5-E914-47DA-95CA-C5AB0DC85B11", true)); } } socket_write($client, "HTTP/1.1 101 Switching Protocols\r\n"); socket_write($client, "Upgrade: websocket\r\n"); socket_write($client, "Connection: Upgrade\r\n"); socket_write($client, "Sec-WebSocket-Accept: $accept\r\n"); socket_write($client, "\r\n"); for ($i = 0;; $i++) { $buffer = socket_read($client, 2048); echo $buffer; } socket_close($client); exit(0); } else { socket_close($client); } } socket_close($socket); |
使 php 命令加载 xdebug 扩展
alias php="/usr/bin/php -d zend_extension=xdebug.so"
Ubuntu 下禁用 PHP xdebug 扩展
vim /etc/php/7.1/mods-available/xdebug.ini
将zend_extension=xdebug.so
注释掉
;zend_extension=xdebug.so
解决 iOS 系统日期/时间输入框文字无法右对齐
由于 iOS 系统 safari 浏览器中,类型为日期/时间的 input 默认 css 样式为 display:-webkit-inline-flex
,使用 text-align: right
时无法让 input 内的文字右对齐。
为了让其支持文字右对齐需要修改 css 样式 display: block
,然后就支持 text-align: right
了。
input[type=date], input[type=time] { display: block; text-align: right; }