<?xml version="1.0" encoding="utf-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>未寒博客</title><link>https://www.imzhou.com/</link><description>用行动带动别人，用坚持赢得别人</description><item><title>使用git自动部署代码</title><link>https://www.imzhou.com/archives/296.html</link><description>&lt;p&gt;在一些项目中，有时候需要快速、频繁地部署、更新代码，我们通常的更新方式是使用git托管代码，随后在服务器上面通过git pull来拉取代码。&lt;/p&gt;&lt;p&gt;但是如果频繁的地操作的话还是会麻烦，可以通过提交代码到发行分支后自动部署更新的方式来更新。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;首先当然是在服务器上面生成git的密钥&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;要在Ubuntu上为Git生成SSH密钥，您可以按照以下步骤操作：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;1. 打开终端。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;2. 检查是否已存在SSH密钥。您可以通过运行命令`ls -al ~/.ssh`来做这件事。如果您看到名为`id_rsa.pub`或`id_dsa.pub`的文件，那么您已经拥有SSH密钥了。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;3. 如果您没有SSH密钥或想要生成一个新的，可以使用命令 `ssh-keygen -t rsa -b 4096 -C &amp;quot;your_email@example.com&amp;quot;`。将 `&amp;quot;your_email@example.com&amp;quot;` 替换成您的电子邮件地址。此命令将生成一个新的SSH密钥。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;4. 当系统提示“Enter a file in which to save the key”（输入一个文件以保存密钥）时，按回车键。这将接受默认文件位置。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;5. 在提示符下，输入一个安全的密码短语。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;6. 使用命令 `ssh-add ~/.ssh/id_rsa` 将您的SSH密钥添加到ssh-agent中。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;接下来将代码clone到服务器的指定目录中&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;#!/bin/bash

#&amp;nbsp;设置变量
project_path=&amp;quot;/opt/1panel/apps/openresty/openresty/www/sites/www.qq.com/index&amp;quot;
repository=&amp;quot;git@e.coding.net:hello/world.git&amp;quot;
branch=&amp;quot;master&amp;quot;
deploy_tmp_path=&amp;quot;/wwwroot/code&amp;quot;

#&amp;nbsp;克隆仓库
git&amp;nbsp;clone&amp;nbsp;--no-checkout&amp;nbsp;&amp;quot;$repository&amp;quot;&amp;nbsp;&amp;quot;$deploy_tmp_path&amp;quot;

#&amp;nbsp;复制&amp;nbsp;.git&amp;nbsp;目录到项目路径
cp&amp;nbsp;-r&amp;nbsp;&amp;quot;$deploy_tmp_path/.git&amp;quot;&amp;nbsp;&amp;quot;$project_path/&amp;quot;

#&amp;nbsp;切换到项目路径
cd&amp;nbsp;&amp;quot;$project_path&amp;quot;

#&amp;nbsp;重置仓库到指定分支
git&amp;nbsp;reset&amp;nbsp;--hard&amp;nbsp;&amp;quot;origin/$branch&amp;quot;

#&amp;nbsp;更改文件权限
chown&amp;nbsp;-R&amp;nbsp;www:www&amp;nbsp;&amp;quot;$project_path&amp;quot;

#&amp;nbsp;删除临时目录
rm&amp;nbsp;-rf&amp;nbsp;&amp;quot;$deploy_tmp_path&amp;quot;&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;接下来就需要创建一个接收github推送的http接口，我们可以利用这个库：https://github.com/adnanh/webhook&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;安装webhook：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;sudo&amp;nbsp;apt-get&amp;nbsp;install&amp;nbsp;webhook&lt;/pre&gt;&lt;p&gt;创建一个webhook配置文件，比如：&lt;span style=&quot;font-family: &amp;quot;Twemoji Country Flags&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, Arial, sans-serif; font-size: medium; text-wrap: wrap; background-color: #FFFFFF;&quot;&gt;/wwwroot/webhook/hooks.json&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;编辑这个文件，一些参数可以参考文档：https://github.com/adnanh/webhook/blob/master/docs/Webhook-Parameters.md：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;[
&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;id&amp;quot;:&amp;nbsp;&amp;quot;deploy&amp;quot;,//消息ID，对于有多个项目的可以区分
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;execute-command&amp;quot;:&amp;nbsp;&amp;quot;/wwwroot/webhook/deploy/deploy.sh&amp;quot;,//接收webhook后运行的脚本
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;command-working-directory&amp;quot;:&amp;nbsp;&amp;quot;/wwwroot/webhook/deploy&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;pass-arguments-to-command&amp;quot;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;source&amp;quot;:&amp;nbsp;&amp;quot;payload&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;name&amp;quot;:&amp;nbsp;&amp;quot;head_commit.id&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;},
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;source&amp;quot;:&amp;nbsp;&amp;quot;payload&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;name&amp;quot;:&amp;nbsp;&amp;quot;pusher.name&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;},
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;source&amp;quot;:&amp;nbsp;&amp;quot;payload&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;name&amp;quot;:&amp;nbsp;&amp;quot;pusher.email&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;],
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;trigger-rule&amp;quot;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;and&amp;quot;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;match&amp;quot;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;type&amp;quot;:&amp;nbsp;&amp;quot;payload-hmac-sha1&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;secret&amp;quot;:&amp;nbsp;&amp;quot;h45wuyjrsdxj57yi&amp;quot;,//github推送密钥
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;parameter&amp;quot;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;source&amp;quot;:&amp;nbsp;&amp;quot;header&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;name&amp;quot;:&amp;nbsp;&amp;quot;X-Hub-Signature&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;},
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;match&amp;quot;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;type&amp;quot;:&amp;nbsp;&amp;quot;value&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;value&amp;quot;:&amp;nbsp;&amp;quot;refs/heads/master&amp;quot;,//匹配的分支
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;parameter&amp;quot;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;source&amp;quot;:&amp;nbsp;&amp;quot;payload&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;name&amp;quot;:&amp;nbsp;&amp;quot;ref&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;}
]&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;然后编辑文件/wwwroot/webhook/deploy/deploy.sh（自行修改为自己的代码命令）：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;#!/bin/bash

#&amp;nbsp;打印当前日期和时间，格式为&amp;nbsp;YYYY-MM-DD&amp;nbsp;HH:MM:SS+时区
date&amp;nbsp;+&amp;quot;%Y-%m-%d&amp;nbsp;%H:%M:%S%z&amp;quot;

#&amp;nbsp;以&amp;nbsp;www&amp;nbsp;用户身份运行后面的命令
su&amp;nbsp;-&amp;nbsp;www&amp;nbsp;-s&amp;nbsp;/bin/bash&amp;nbsp;-c&amp;nbsp;&amp;#39;

#&amp;nbsp;定义&amp;nbsp;www&amp;nbsp;用户的主目录路径
www_home=&amp;#39;/home/www&amp;#39;

#&amp;nbsp;设置&amp;nbsp;HOME&amp;nbsp;环境变量为&amp;nbsp;www&amp;nbsp;用户的主目录
export&amp;nbsp;HOME=$www_home

#&amp;nbsp;设置语言环境为中文（UTF-8）
export&amp;nbsp;LANG=&amp;#39;zh_CN.UTF-8&amp;#39;

#&amp;nbsp;切换到项目目录
cd&amp;nbsp;/www/wwwroot/my-code

#&amp;nbsp;配置&amp;nbsp;Git&amp;nbsp;拉取时不使用&amp;nbsp;rebase
git&amp;nbsp;config&amp;nbsp;pull.rebase&amp;nbsp;false

#&amp;nbsp;重置本地&amp;nbsp;master&amp;nbsp;分支到远程&amp;nbsp;origin/master&amp;nbsp;的最新状态
git&amp;nbsp;reset&amp;nbsp;--hard&amp;nbsp;origin/master

#&amp;nbsp;拉取远程仓库的最新更改
git&amp;nbsp;pull

#&amp;nbsp;强制检出&amp;nbsp;master&amp;nbsp;分支
git&amp;nbsp;checkout&amp;nbsp;-f&amp;nbsp;master

#其他代码命令，如编译等
composer&amp;nbsp;install
php&amp;nbsp;artisan&amp;nbsp;config:cache
php&amp;nbsp;artisan&amp;nbsp;route:clear
php&amp;nbsp;artisan&amp;nbsp;view:clear
&amp;#39;

#&amp;nbsp;再次打印当前日期和时间
date&amp;nbsp;+&amp;quot;%Y-%m-%d&amp;nbsp;%H:%M:%S%z&amp;quot;
#&amp;nbsp;正常退出脚本
exit&amp;nbsp;0&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;最后运行webhook：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;webhook&amp;nbsp;-hooks&amp;nbsp;hooks.json&amp;nbsp;-port&amp;nbsp;10801&amp;nbsp;-logfile&amp;nbsp;webhook.log&lt;/pre&gt;&lt;p&gt;运行后会自动监听服务，在GitHub处填写地址和密钥即可&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.imzhou.com/zb_users/upload/2024/08/202408131723537254818482.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;</description><pubDate>Tue, 13 Aug 2024 16:14:10 +0800</pubDate></item><item><title>Redis提示Increased maximum number of open files to 10032解决办法</title><link>https://www.imzhou.com/archives/295.html</link><description>&lt;p&gt;今天，服务器的Redis一直故障，查看日志发现提示：Increased maximum number of open files to 10032 (it was originally set to 1024).&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: #080808; font-family: &amp;quot;HarmonyOS Sans&amp;quot;, &amp;quot;Segoe UI&amp;quot;, &amp;quot;SF Pro Display&amp;quot;, -apple-system, BlinkMacSystemFont, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;HarmonyOS Sans SC&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft Yahei UI&amp;quot;, &amp;quot;Microsoft Yahei&amp;quot;, &amp;quot;Source Han Sans CN&amp;quot;, sans-serif, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Twemoji Mozilla&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;, &amp;quot;Android Emoji&amp;quot;; font-size: 14px; letter-spacing: 0.28px; text-wrap: wrap; background-color: #FFFFFF;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;这个问题是由于Redis的文件描述符数量超过了系统的限制。文件描述符是UNIX和Linux系统中用来引用打开的文件和网络套接字的唯一标识符。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: wrap; background-color: #FFFFFF;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;打开 /etc/sysctl.conf 文件，在文件末尾添加以下行：&lt;/p&gt;&lt;pre class=&quot;brush:bash;toolbar:false&quot;&gt;fs.file-max&amp;nbsp;=&amp;nbsp;10032&lt;/pre&gt;&lt;p&gt;这行设置将会在系统级别上提高文件描述符的数量，保存并关闭文件。&lt;/p&gt;&lt;p&gt;运行以下命令以使设置立即生效：&lt;/p&gt;&lt;pre class=&quot;brush:bash;toolbar:false&quot;&gt;sudo&amp;nbsp;sysctl&amp;nbsp;-p&lt;/pre&gt;&lt;p&gt;之后，您需要在 /etc/security/limits.conf 文件中添加以下内容：&lt;/p&gt;&lt;pre class=&quot;brush:bash;toolbar:false&quot;&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;soft&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nofile&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;10032
*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hard&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nofile&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;10032&lt;/pre&gt;&lt;p&gt;这将会在用户级别上提高文件描述符的数量，注意前面有星号，保存并关闭文件。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;最后，需要在 Redis 的 systemd 服务单元文件中添加以下行：&lt;/p&gt;&lt;pre class=&quot;brush:bash;toolbar:false&quot;&gt;[Service]
LimitNOFILE=10032&lt;/pre&gt;&lt;p&gt;然后重新加载 systemd 配置并重启 Redis：&lt;/p&gt;&lt;pre class=&quot;brush:bash;toolbar:false&quot;&gt;sudo&amp;nbsp;systemctl&amp;nbsp;daemon-reload
sudo&amp;nbsp;systemctl&amp;nbsp;restart&amp;nbsp;redis&lt;/pre&gt;</description><pubDate>Sun, 07 Apr 2024 21:13:06 +0800</pubDate></item><item><title>香港银行开户记录</title><link>https://www.imzhou.com/archives/294.html</link><description>&lt;p style=&quot;text-align: left;&quot;&gt;&lt;img src=&quot;https://www.imzhou.com/zb_users/upload/2024/03/202403121025112175287.jpg&quot; alt=&quot;202403121025112175287.jpg&quot; title=&quot;202403121025112175287.jpg&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;自2023年底起，关于香港银行开户政策将收紧的消息在小红书、X和V2ex等平台上广为流传。今年年初，我和朋友趁着去香港旅游的机会，顺便开设了几个银行账户。以下是我关于为何、如何在香港开户的经验分享。&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;为什么选择在香港开户?&lt;br style=&quot;text-align: left;&quot;/&gt;&lt;/h2&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;对于大多数人而言，在香港或其他地区开设银行账户可能并不是必需的。但是，以下几个原因可能会促使某些人选择这么做：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot; style=&quot;list-style-type: disc;&quot;&gt;&lt;li&gt;&lt;p&gt;投资：借助香港账户，可以方便地购买港股和美股。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;理财与储蓄：多一个账户，多一种理财渠道。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;保险：获取更多保险产品的机会。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;开发者需求：对于软件开发者，拥有一个境外账户可以便于购买国外服务、支付费用以及接收来自国际客户的付款。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;怎么开?&lt;/h2&gt;&lt;p&gt;如今，在小红书等社交平台上，可以找到许多关于在香港开户的经验分享。开户流程通常包括：准备所需材料、预约银行、前往香港亲自开户。具体所需材料包括：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot; style=&quot;list-style-type: disc;&quot;&gt;&lt;li&gt;&lt;p&gt;身份证：用于证明个人身份。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;港澳通行证：作为进入香港的有效通行证。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;入境小票：这是在海关入境时，通过自助机器打印的入境凭证。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;地址证明：可以是银行、水电燃气等账单，用于证明住址。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;港币现金：开户所需的现金。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;准备好以上材料后，就可以前往银行完成开户流程了。&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;开户过程&lt;/h2&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;中国银行香港&lt;/h3&gt;&lt;p style=&quot;text-align: left;&quot;&gt;中银香港的开户现在很热门,主要原因时候与境内中行汇款免费,没有账户管理费等,所以在开户去我先进行了预约。&lt;br style=&quot;text-align: left;&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;预约方法为在微信公众号:[中银香港微服务]-银行服务 - 我要预约&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;我预约了一家港岛很偏的分行(离酒店近),预约时间未9:45,实际到达时间是9:40左右,被告知下一个预约的提前到了,于是多等了一会。&lt;/p&gt;&lt;ol style=&quot;list-style-type: decimal;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p style=&quot;text-align: left;&quot;&gt;开户的过程很流畅,问了开户原因,回答说投资港股&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style=&quot;text-align: left;&quot;&gt;银行要我提供了有投资经验的股票账户,需要看到姓名和交易记录&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style=&quot;text-align: left;&quot;&gt;剩下的就没有咨询其他问题了,按流程填写资料,开了银行账户和投资账户,材料只要求了身份证和通行证&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style=&quot;text-align: left;&quot;&gt;开户完成后被告知要存入HKD$1000 进行激活,提款卡通过邮寄送达&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style=&quot;text-align: left;&quot;&gt;整个开户时间仅大约30分钟&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;汇丰银行&lt;/h3&gt;&lt;p style=&quot;text-align: left;&quot;&gt;汇丰银行我没有进行预约,在中银回来路上,随便找了一家分行进去取号说要开户,我到达时已经是11:30,工作人员抱怨了几句后给我取号排队,说人有点多,要排一会。&lt;br style=&quot;text-align: left;&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;大约5分钟后,陆续又进来两位要求开户的,工作人员直接开始让我在 HSBC 的 APP 上面操作开户,&lt;/p&gt;&lt;ol style=&quot;list-style-type: decimal;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p style=&quot;text-align: left;&quot;&gt;按例咨询的开户原因,同意回复了投资港股，查看了境内股票App的交易记录和账户持有信息&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style=&quot;text-align: left;&quot;&gt;只要求提供了&lt;span style=&quot;text-wrap: wrap;&quot;&gt;身份证和通行证&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style=&quot;text-align: left;&quot;&gt;汇丰的提款卡现场给了,要求1天内存入&lt;span style=&quot;text-wrap: wrap;&quot;&gt;HKD$10000 进行激活&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;招商永隆银行&lt;/h3&gt;&lt;p style=&quot;text-align: left;&quot;&gt;招商永隆本来时候不打算开的,因为知道它有账户管理费,但是同事去开了这个,同时境内也是招商的金葵花,就顺便开了一个。&lt;br style=&quot;text-align: left;&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;text-wrap: wrap;&quot;&gt;招商永隆就更加丝滑了,提前在招商永隆银行App上进行开户申请,部分人可能需要审核较长时间，这个开户可以在境内时候进行，提前一个月都没问题。按流程填写完成资料后会收到审核通过短信,要求进行面签&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;text-wrap: wrap;&quot;&gt;随便找一家&lt;span style=&quot;text-wrap: wrap;&quot;&gt;招商永隆网点,告知面签即可,我去的是在中环的中行(也是顺路随便找的)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;ol style=&quot;list-style-type: decimal;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p style=&quot;text-align: left;&quot;&gt;询问了开户原因&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style=&quot;text-align: left;&quot;&gt;要求查看了开户证件:身份证和通行证&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style=&quot;text-align: left;&quot;&gt;大约十分钟不到确认完成,&lt;span style=&quot;text-wrap: wrap;&quot;&gt;要求1天内存入&lt;/span&gt;&lt;span style=&quot;text-wrap: wrap;&quot;&gt;HKD$10000 进行激活。&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;text-wrap: wrap;&quot;&gt;提款卡自己在app上申请,顺丰到付，实测¥60元&lt;/span&gt;&lt;/span&gt;&lt;br style=&quot;text-align: left;&quot;/&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;其他&lt;/h3&gt;&lt;p style=&quot;text-align: left;&quot;&gt;在酒店时候还顺便在手机上开了ZA Bank和livi的虚拟银行账户,香港的虚拟银行大陆身份都可以开,唯一的要求就是开户申请时需要人在香港。&lt;br style=&quot;text-align: left;&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;提交申请后大约3天后审核通过,都有一张虚拟卡。ZA有实体卡，需要支付运费25港币即可获取。&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;总结&lt;/h2&gt;&lt;p style=&quot;text-align: left;&quot;&gt;以我的开户过程来说,目前香港银行账户的开户并没有困难,按要求提交后基本都可以通过。&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;一些需要注意的是&lt;/p&gt;&lt;blockquote&gt;&lt;p style=&quot;text-align: left;&quot; dir=&quot;ltr&quot;&gt;&lt;strong&gt;开户原因：&lt;/strong&gt;如果是投资的，提前准备好境内股票软件账户，会查看持仓记录，交易记录和账户实名信息&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;strong&gt;地址证明&lt;/strong&gt;：许多开户经验提到的地址证明我没有用到,几家银行都告知,如果住宅地址与身份证地址一样就不需要地址证明,而所有的卡片邮寄等都是通过通讯地址邮寄,通讯地址不需要地址证明,可以任意填写。&lt;br style=&quot;text-align: left;&quot;/&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style=&quot;text-align: left;&quot;&gt;最后,做一个银行总结吧。&lt;/p&gt;&lt;table align=&quot;center&quot;&gt;&lt;tbody&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;td width=&quot;282&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;项目&lt;/td&gt;&lt;td width=&quot;282&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;中银香港&lt;/td&gt;&lt;td width=&quot;282&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;汇丰&lt;/td&gt;&lt;td width=&quot;282&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;招商永隆&lt;/td&gt;&lt;td width=&quot;282&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;渣打&lt;/td&gt;&lt;td width=&quot;178.33333333333334&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;ZA&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;282&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;特点&lt;/td&gt;&lt;td width=&quot;282&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;与境内中行汇款免手续费、电报费、中间行费用&lt;/td&gt;&lt;td width=&quot;282&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;与境内转账免费&lt;/td&gt;&lt;td width=&quot;282&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;开户方便,存款利率高&lt;/td&gt;&lt;td width=&quot;282&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;text-wrap: wrap;&quot;&gt;存款利率高,部分级别&lt;span style=&quot;text-wrap: wrap;&quot;&gt;与境内转账免费&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td width=&quot;178.33333333333334&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;开户方便&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;282&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;账户管理费&lt;/td&gt;&lt;td width=&quot;282&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;无&lt;/td&gt;&lt;td width=&quot;282&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;text-wrap: wrap;&quot;&gt;无&lt;/span&gt;&lt;/td&gt;&lt;td width=&quot;282&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;p style=&quot;text-align: left;&quot;&gt;日均不足一万元每月收费100元&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;如果有股票/理财持仓则每年120元&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;282&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;text-wrap: wrap;&quot;&gt;无&lt;/span&gt;&lt;/td&gt;&lt;td width=&quot;178.33333333333334&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;text-wrap: wrap;&quot;&gt;无&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;282&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;汇入收费&lt;/td&gt;&lt;td width=&quot;282&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;text-wrap: wrap;&quot;&gt;与境内中行免费&lt;/span&gt;&lt;/td&gt;&lt;td width=&quot;282&quot; valign=&quot;top&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td width=&quot;282&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;境内招商金葵花汇出,境内收费100元人民币,境外不收费&lt;/td&gt;&lt;td width=&quot;282&quot; valign=&quot;top&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td width=&quot;178.33333333333334&quot; valign=&quot;top&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;282&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;汇出收费&lt;/td&gt;&lt;td width=&quot;282&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;span style=&quot;text-wrap: wrap;&quot;&gt;与境内中行&lt;span style=&quot;text-wrap: wrap;&quot;&gt;免费&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td width=&quot;282&quot; valign=&quot;top&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td width=&quot;282&quot; valign=&quot;top&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td width=&quot;282&quot; valign=&quot;top&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td width=&quot;178.33333333333334&quot; valign=&quot;top&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;282&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;卡&lt;/td&gt;&lt;td width=&quot;282&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;银联提款卡（默认平邮，补发挂号20元，快递40元左右），可&lt;span style=&quot;text-wrap: wrap;&quot;&gt;ApplePay&lt;/span&gt;&lt;/td&gt;&lt;td width=&quot;282&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;银联提款卡、万事达扣账卡，可&lt;span style=&quot;text-wrap: wrap;&quot;&gt;ApplePay&lt;/span&gt;&lt;/td&gt;&lt;td width=&quot;282&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;银联提款卡（顺丰到付），不可&lt;span style=&quot;text-wrap: wrap;&quot;&gt;ApplePay&lt;/span&gt;&lt;/td&gt;&lt;td width=&quot;282&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;银联提款卡，优先理财有万事达扣账卡&lt;/td&gt;&lt;td width=&quot;178.33333333333334&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;VISA扣账卡（快递费25元）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;282&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;其他&lt;/td&gt;&lt;td width=&quot;282&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;2024年普遍反应转账到账时间很慢，自己实测7天才到账&lt;/td&gt;&lt;td width=&quot;282&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td width=&quot;282&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;实测境内招行转账一小时到账&lt;/td&gt;&lt;td width=&quot;282&quot; valign=&quot;top&quot; style=&quot;word-break: break-all;&quot;&gt;境内工行转账，三小时到账&lt;/td&gt;&lt;td width=&quot;178.33333333333334&quot; valign=&quot;top&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style=&quot;text-align: left;&quot;&gt;附一张已经收到的卡片?&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;img src=&quot;https://www.imzhou.com/zb_users/upload/2024/03/202403111748138281753.png&quot; alt=&quot;202403111748138281753.png&quot; title=&quot;202403111748138281753.png&quot;/&gt;&lt;/p&gt;</description><pubDate>Mon, 11 Mar 2024 09:53:07 +0800</pubDate></item><item><title>Windows环境PHP连接MSSQL数据库</title><link>https://www.imzhou.com/archives/293.html</link><description>&lt;p&gt;前几天有一个项目数据库使用的是MSSQL，然后我需要在调用里面的数据进行分析，因为擅长的是PHP，所以想着直接使用PHP来连接MSSQL。&lt;/p&gt;&lt;p&gt;我们一般PHP使用的数据库都是MySQL，因此，需要先安装扩展，使PHP支持MSSQL，微软官方有相应的扩展下载。&lt;/p&gt;&lt;p&gt;大致的步骤如下：&lt;/p&gt;&lt;p&gt;1、下载用于连接MSSQL的PHP&amp;nbsp;扩展：&lt;a href=&quot;https://docs.microsoft.com/en-us/sql/connect/php/system-requirements-for-the-php-sql-driver?view=sql-server-2017&quot;&gt;https://docs.microsoft.com/en-us/sql/connect/php/system-requirements-for-the-php-sql-driver?view=sql-server-2017&lt;/a&gt;&lt;/p&gt;&lt;p&gt;扩展下载地址：&lt;a href=&quot;https://docs.microsoft.com/zh-cn/sql/connect/php/download-drivers-php-sql-server?view=sql-server-2017&quot;&gt;https://docs.microsoft.com/zh-cn/sql/connect/php/download-drivers-php-sql-server?view=sql-server-2017&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.imzhou.com/zb_users/upload/2019/05/201905261558881524682981.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;?可以看到用于各个版本的扩展版本，我下载的最新的5.6，因为PHP版本使用的是7.3.2&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;下载后将对应的dll危机复制到php安装目录的ext目录，并且在php.ini中添加扩展：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-basic&quot;&gt;extension=php_pdo_sqlsrv_73_nts_x64
extension=php_sqlsrv_73_nts_x64&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;2、安装扩展后还需要在电脑上安装对应的ODBC驱动：&lt;a href=&quot;https://docs.microsoft.com/zh-cn/sql/connect/odbc/download-odbc-driver-for-sql-server?view=sql-server-2017&quot;&gt;https://docs.microsoft.com/zh-cn/sql/connect/odbc/download-odbc-driver-for-sql-server?view=sql-server-2017&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.imzhou.com/zb_users/upload/2019/05/201905261558881785883677.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;根据对应的扩展版本下载安装驱动即可。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;3、连接MSSQL&lt;/p&gt;&lt;p&gt;如果使用的是Laravel，在.env中将DB_CONNECTION设为sqlsrv，即可。&lt;/p&gt;&lt;p&gt;如果是直接使用PHP连接：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-php&quot;&gt;$connectionInfo&amp;nbsp;=&amp;nbsp;array(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;Database&amp;quot;&amp;nbsp;=&amp;gt;&amp;nbsp;&amp;#39;table&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;UID&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;gt;&amp;nbsp;&amp;#39;sa&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;PWD&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;gt;&amp;nbsp;&amp;#39;123456&amp;#39;
);
$conn&amp;nbsp;=&amp;nbsp;sqlsrv_connect(&amp;#39;127.0.0.1&amp;#39;,&amp;nbsp;$connectionInfo);
if&amp;nbsp;($conn)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$sql&amp;nbsp;=&amp;nbsp;&amp;quot;select&amp;nbsp;*&amp;nbsp;from&amp;nbsp;users;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$data&amp;nbsp;=&amp;nbsp;sqlsrv_query($conn,&amp;nbsp;$sql);
}&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Sun, 26 May 2019 22:29:39 +0800</pubDate></item><item><title>Windows建立软链接方法</title><link>https://www.imzhou.com/archives/290.html</link><description>&lt;p&gt;自己有多台电脑用于日常使用：家里笔记本、台式机、办公室等，&lt;br/&gt;&lt;/p&gt;&lt;p&gt;为了使开发效率更高，我们经常需要有一个合适的开发环境，包括软件、主题、插件等，但是在一台电脑配置后不能同步到其他电脑是个麻烦事，因此想了以下方法来出来：&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;我将所有软件的配置文件（phpstorm、sublime等）通过软连接形式保存到我的文档下面，以Sublime为例：&lt;/p&gt;&lt;p&gt;进入【C:\Users\Administrator\AppData\Roaming\Sublime Text 3】，运行：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-powershell&quot;&gt;mklink&amp;nbsp;/J&amp;nbsp;&amp;quot;Installed&amp;nbsp;Packages&amp;quot;&amp;nbsp;&amp;quot;D:\Documents\SoftConfig\Sublime&amp;nbsp;Text&amp;nbsp;3\Installed&amp;nbsp;Packages&amp;quot;
mklink&amp;nbsp;/J&amp;nbsp;&amp;quot;Packages&amp;quot;&amp;nbsp;&amp;quot;D:\Documents\SoftConfig\Sublime&amp;nbsp;Text&amp;nbsp;3\Packages&amp;quot;&lt;/pre&gt;&lt;p&gt;将Sublime的配置文件和插件都保存到了我的文档下的 SoftConfig&amp;nbsp;文件夹，&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;再通过网盘同步 SoftConfig&amp;nbsp;文件夹即可，网盘的选择上其实Dropbox是最合适的，因为它有增量功能，但因为国内被墙，推荐使用&lt;a href=&quot;https://www.jianguoyun.com/&quot; target=&quot;_blank&quot;&gt;坚果云&lt;/a&gt;，免费版1G流量足矣，它也是支持增量同步的，同时也是国内不多的免费提供WebDAV&amp;nbsp;同步功能的网盘。&lt;/p&gt;</description><pubDate>Sat, 06 Jan 2018 19:46:28 +0800</pubDate></item><item><title>切换域名DNS为Google Cloud DNS</title><link>https://www.imzhou.com/archives/289.html</link><description>&lt;p&gt;前段时间，大约有连续一周，我自己的域名邮箱（腾讯企业邮箱）无法收到邮件，找了各种原因都失败，无论怎么发信都没有，没有拦截，没有进垃圾箱，甚至投诉了下腾讯企业邮箱。&lt;/p&gt;&lt;p&gt;知道有一天博客VPS到期，去DNSPod更换域名解析，发现无法更改，这才发现一行小字：&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.imzhou.com/zb_users/upload/2018/01/201801061515240067450937.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;卧槽，这是我才知道邮件收到的真实原因竟然是这个，可是&amp;nbsp;DNSPod&amp;nbsp;竟然都没有给我发邮件或者短信提醒！！！&lt;/p&gt;&lt;p&gt;再后来我想着更换DNS解析服务商，发现，国内的DNS均一样，无法提供解析，因此只好找国外的DNS服务商，最终选择了&amp;nbsp;&lt;a href=&quot;https://cloud.google.com/dns/?hl=zh-CN&quot; target=&quot;_blank&quot;&gt;Google Cloud DNS&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;GCD共有4组NS，其中第一个被墙，其他均正常访问，每个服务器的速度均非常快。&lt;br/&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;ns-cloud-e1.googledomains.com.&lt;/p&gt;&lt;p&gt;ns-cloud-e2.googledomains.com.&lt;/p&gt;&lt;p&gt;ns-cloud-e3.googledomains.com.&lt;/p&gt;&lt;p&gt;ns-cloud-e4.googledomains.com.&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;GCD的NS服务器采用Anycast技术，确保用户能得到来自最近服务器的解析，支持DNSSEC，100%的SLA，支持所有主流记录类型，TTL最低允许设置为1s&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;最后，Google Cloud DNS是收费服务，每个域名每月 $0.2&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Fri, 05 Jan 2018 11:14:07 +0800</pubDate></item><item><title>Sublime Text 3 build 3143中文版设置</title><link>https://www.imzhou.com/archives/288.html</link><description>&lt;p&gt;&lt;a href=&quot;https://www.imzhou.com/zb_users/upload/2017/09/201709281506595972571286.png&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;https://www.imzhou.com/zb_users/upload/2017/09/201709281506595972571286.png&quot; alt=&quot;image.png&quot; width=&quot;750&quot; height=&quot;468&quot; border=&quot;0&quot; vspace=&quot;0&quot; title=&quot;image.png&quot; style=&quot;width: 750px; height: 468px;&quot;/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;万年不更新的Sublime Text 3竟然更新了，新版进行了众多优化和高DPI优化支持。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;Sublime Text 3下载地址：&lt;a href=&quot;https://www.sublimetext.com/3&quot; target=&quot;_blank&quot; textvalue=&quot;https://www.sublimetext.com/3&quot;&gt;https://www.sublimetext.com/3&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot; style=&quot;list-style-type: decimal;&quot;&gt;&lt;li&gt;&lt;p&gt;现在如果有汉化需求的可以按照以下操作设置：&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;点击 Tools&amp;nbsp; -&amp;gt; Install Package Control ，稍等一会会提示&amp;nbsp;Package Control was successfully installed&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;点击 Preference -&amp;gt; Package Control，输入 install 找到&amp;nbsp;Install Package&amp;nbsp;后按回车&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;输入&amp;nbsp;localiza ，找到以下插件，按回车安装&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.imzhou.com/zb_users/upload/2017/09/201709281506595565827424.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;点击&amp;nbsp;Help -&amp;gt;&amp;nbsp;Language，选择“简体中文”即可&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;操作示例：&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.imzhou.com/zb_users/upload/2017/09/201709281506595677513725.gif&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;正版激活码 (来自网友的分享)&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;—– BEGIN LICENSE —–&lt;/p&gt;&lt;p&gt;TwitterInc&lt;/p&gt;&lt;p&gt;200 User License&lt;/p&gt;&lt;p&gt;EA7E-890007&lt;/p&gt;&lt;p&gt;1D77F72E 390CDD93 4DCBA022 FAF60790&lt;/p&gt;&lt;p&gt;61AA12C0 A37081C5 D0316412 4584D136&lt;/p&gt;&lt;p&gt;94D7F7D4 95BC8C1C 527DA828 560BB037&lt;/p&gt;&lt;p&gt;D1EDDD8C AE7B379F 50C9D69D B35179EF&lt;/p&gt;&lt;p&gt;2FE898C4 8E4277A8 555CE714 E1FB0E43&lt;/p&gt;&lt;p&gt;D5D52613 C3D12E98 BC49967F 7652EED2&lt;/p&gt;&lt;p&gt;9D2D2E61 67610860 6D338B72 5CF95C69&lt;/p&gt;&lt;p&gt;E36B85CC 84991F19 7575D828 470A92AB&lt;/p&gt;&lt;p&gt;—— END LICENSE ——&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;/blockquote&gt;</description><pubDate>Wed, 27 Sep 2017 18:31:43 +0800</pubDate></item><item><title>取消设置QQ浏览器为默认浏览器</title><link>https://www.imzhou.com/archives/287.html</link><description>&lt;p&gt;坊间一直都说腾讯是个只会抄袭的公司，但我一直并不认同，虽然曾经于它擦肩而过。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;我的电脑上Chrome一直都是我的默认浏览器，最近因为工作需要，安装了电脑QQ电脑管家和QQ浏览器，于是，有了一番与其争斗的过程。&lt;/p&gt;&lt;p&gt;安装以后我发现我的电脑默认浏览器变成了QQ浏览器，且无论怎么设置都取消不了。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.imzhou.com/zb_users/upload/2017/03/201703191489894551180509.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;我的第一个反应是一定是电脑管家干的，找到其浏览器保护功能模块，果然，QQ浏览器被设为默认且锁定：&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.imzhou.com/zb_users/upload/2017/03/201703191489894627494870.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;我满心欢喜的去设置默认浏览器，选择了Chrome，此时又来提示了：&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.imzhou.com/zb_users/upload/2017/03/201703191489894975303067.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;好吧，我的错，忘记关电脑管家了，当然是暂不锁定咯。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;What，怎么还是无效？无论怎么改都是QQ浏览器默认？&lt;/p&gt;&lt;p&gt;这是，想到会不会它自身作怪？于是，在QQ浏览器的安全中又找到了选项（又一个保护）：&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.imzhou.com/zb_users/upload/2017/03/201703191489895124148852.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;此时，终于可以自由设置默认浏览器了！&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;百度下此类问题有上百万个搜索取消锁定的，官方论坛也有一大堆投诉：&lt;/p&gt;&lt;p&gt;http://bbs.browser.qq.com/thread-225668-1-1.html&lt;/p&gt;&lt;p&gt;http://bbs.browser.qq.com/thread-225414-1-1.html&lt;/p&gt;&lt;p&gt;http://bbs.browser.qq.com/thread-203678-1-1.html&lt;/p&gt;&lt;p&gt;http://bbs.browser.qq.com/thread-224875-1-1.html&lt;/p&gt;&lt;p&gt;可QQ浏览器团队怎么不考虑下呢？在腾讯系其他软件中没有什么软件如此流氓，如此强盗设置用户属性，这是不自信还是有流氓血统？&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;至于QQ浏览器团队的流氓血统，可以参考历史文章：&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.imzhou.com/archives/129.html&quot; _src=&quot;https://www.imzhou.com/archives/129.html&quot;&gt;https://www.imzhou.com/archives/129.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.imzhou.com/archives/130.html&quot; _src=&quot;https://www.imzhou.com/archives/130.html&quot;&gt;https://www.imzhou.com/archives/130.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Sat, 22 Apr 2017 22:57:20 +0800</pubDate></item><item><title>博客全站启用HTTPS</title><link>https://www.imzhou.com/archives/282.html</link><description>&lt;p style=&quot;text-align: left;&quot;&gt;与时俱进,博客全站启用了HTTPS,访问http会自动跳转:&lt;a href=&quot;https://www.imzhou.com/&quot; _src=&quot;https://www.imzhou.com/&quot;&gt;https://www.imzhou.com/&lt;/a&gt; &lt;/p&gt;&lt;p&gt;&lt;br style=&quot;text-align: left;&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;使用的证书为&lt;span style=&quot;text-decoration: line-through;&quot;&gt;Symantec(赛门铁克)的DV SSL &lt;/span&gt;&lt;span style=&quot;text-decoration: none;&quot;&gt;(已改为AlphaSSL的通配符证书)&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br style=&quot;text-align: left;&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;img src=&quot;https://www.imzhou.com/zb_users/upload/2018/08/201808271535382527522866.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;</description><pubDate>Fri, 23 Dec 2016 23:35:22 +0800</pubDate></item><item><title>PHPManagerForIIS 在Windows10（IIS10）安装问题</title><link>https://www.imzhou.com/archives/279.html</link><description>&lt;p&gt;PHPManagerForIIS 是微软推出的在IIS平台下管理PHP扩展的工具，使用它可以方便在IIS中添加PHP扩展支持，并且支持多版本PHP共存，主要特点是：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot; style=&quot;list-style-type: disc;&quot;&gt;&lt;li&gt;&lt;p&gt;快速在IIS中注册PHP;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;验证并正确配置现有的PHP安装;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;在同一服务器中运行多个版本的PHP，不同站点运行不同版本PHP;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;快速查看phpinfo;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;图形化配置PHP设置;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;图形化开启、禁用PHP扩展;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;PHPManagerForIIS 下载地址：&lt;a href=&quot;https://phpmanager.codeplex.com/&quot; target=&quot;_self&quot;&gt;https://phpmanager.codeplex.com/&lt;/a&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;但是在Windows 10 中，也就是IIS10下，安装PHPManagerForIIS 会提示错误，错误内容为：&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;PHP Manager for IIS requires IIS7 or higher to be installed. Do you want to learn more on how to obtain and install IIS 7?&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;img src=&quot;https://www.imzhou.com/zb_users/upload/2016/08/201608121471016675131569.png&quot; alt=&quot;blob.png&quot;/&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;简单的说即说此扩展必须安装在IIS7以上，可我们明明是IIS10啊，神马情况？&lt;br/&gt;&lt;/p&gt;&lt;p&gt;通过查找原因发现原来IIS10在注册表中的版本号是十六进制的“a”，但是软件不认，所以提示错误，所以在安装前将此值改为9以下即可。&lt;/p&gt;&lt;p&gt;注册表位置：&lt;strong&gt;[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\MajorVersion]&lt;/strong&gt;，将此值改为9后安装PHPManagerForIIS，安装后再更改回来即可。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.imzhou.com/zb_users/upload/2016/08/201608121471017031512121.png&quot; alt=&quot;blob.png&quot;/&gt;&lt;/p&gt;</description><pubDate>Fri, 12 Aug 2016 23:36:54 +0800</pubDate></item></channel></rss>