php 序列化和反序列化

2020/09/29 posted in  日常折腾

blog 自动发布脚本

新的博客使用 mweb 生成静态文件,然后写了一个自动发布的脚本,当在 mweb 中写完内容,并生成网站之后,直接执行下面的脚本文件,就能在网站上看到效果了:

#! /bin/bash

cd /Users/feiffy/Sites/mweb

# 忽略 assets 文件, 0-忽略,1-不忽略
withAssets=0
if [ -n "$1" ]; then
    if [ "--with-assets" = $1 ]; then
        withAssets=1
    fi
fi

if [ ! -d "blog_deploy" ]; then
    mkdir "blog_deploy"
fi

# clean
rm -rf blog_deploy/*

# copy
cp ./blog/* blog_deploy/
if [ $withAssets -eq 1 ]; then
    cp -r ./blog/asset blog_deploy/
fi

# tar
tar -czf blog_deploy.tar.gz blog_deploy

echo 'uploading...'

# upload to server
scp blog_deploy.tar.gz <user>@<domain>:/var/www/upload

# deploy
ssh <user>@<domain> > /dev/null 2>&1 << eeooff
cd /var/www/upload
tar -xzf blog_deploy.tar.gz
rm blog_deploy.tar.gz

cp -r blog_deploy/* /var/www/html/
rm -rf blog_deploy

exit
eeooff

echo 'deploy succ'
2020/06/28 posted in  日常折腾

win10 搭建 php + apache 开发运行环境

我服了,作为一个4年的老 phper,当我想在 windows 上手动搭建环境还是遇到了好多问题,所以通过这篇记录下来,不要每次都是重新开始,每一次都要蹚一遍所有的坑!

php

在官网这个地址 https://windows.php.net/download/ 下载已编译好的php程序。里面同时提供了多个版本,当然选最新版的 php7.4,然后在 php7.4 里面又提供了4个版本,分别是:

  • VC15 x64 Non Thread Safe
  • VC15 x64 Thread Safe [√]
  • VC15 x86 Non Thread Safe
  • VC15 x86 Thread Safe

真是选择困难症啊,首先,win10是64位的,那肯定选x64,其次使用的是 apache,所以选择 thread safe 版本(原因请参考1),所以最终选择 VC15 x64 Thread Safe。如下图1所示,点击下载那个 zip 压缩文件。直接浏览器下载比较慢,所以我把地址复制到迅雷下载会快很多。

Read more   2020/05/17 posted in  日常折腾

解决安装electron卡在node install.js 不动问题

2020/05/03 posted in  日常折腾

DataGrip 设置默认的返回结果集数量

初始设置是 500,我觉得有点多,所以设置为 10。如下图设置:

参考:

2020/04/13 posted in  日常折腾

Ubuntu 中 Apache 设置允许跨域

1.首先找到 httpd.conf 文件

找到 #LoadModule headers_module modules/mod_headers.so

把#注释符去掉(也有可能已经默认去掉了)

目的是开启apache头信息自定义模块

如果你是 Ubuntu,也可以执行下面的命令来开启这个模块:

$ sudo service a2enmod headers

2.找到你的虚拟主机文件 注意是被跨域的网站的 具体内容是这样的文件

Read more   2020/03/20 posted in  日常折腾

Ubuntu PhpStorm 代码导航前进后退快捷键无效

18.04 命令行执行:

gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-left "[]"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-right "[]"
2019/12/02 posted in  日常折腾

Linux Jetbrains Datagrip 没有图标找不到

2019/11/13 posted in  日常折腾

Linux 命令行显示当前 Git 分支

~/.bashrc 文件中添加以下内容:

#show the current git branch 
find_git_branch () {
    local dir=. head
    until [ "$dir" -ef / ]; do
        if [ -f "$dir/.git/HEAD" ]; then
            head=$(< "$dir/.git/HEAD")
            if [[ $head = ref:\ refs/heads/* ]]; then
                git_branch="(*${head#*/*/})"
            elif [[ $head != '' ]]; then
                git_branch="(*(detached))"
            else
                git_branch="(*(unknow))"
            fi  
            return
        fi  
        dir="../$dir"
    done
    git_branch=''
}

PROMPT_⌘="find_git_branch; $PROMPT_⌘"
PS1="\u@\h:\w\[\033[0;32m\]\$git_branch\[\033[0m\] \$ "
2019/09/21 posted in  日常折腾

Ubuntu ssh 自动登录脚本

2019/09/26 posted in  日常折腾

Win10 自定义 Git Bash 终端

在开发的过程中,我们可能需要使用大量的命令行工具,或者远程连接到服务器进程操作。然而,由于 Windows 自带的 CMD 和 PowerShell 都不太好用,而且在 Windows 下的命令又与 Linux 中的不太一样,而我们大部分使用的都是 Linux 服务器,所以就需要一个这样的命令行工具。

终端选择

在 Windows 下使用类似 Linux 命令的工具有很多,例如 Win10 上提供的 WSL(Windows Sub Linux),CygWin 以及 Git Bash。

WSL

WSL是微软提供的一套可以运行 Linux 环境而又不用加载虚拟机的子系统。使用WSL可以像使用 Ubuntu 一样的操作,而且还能访问 WIndow 上的文件系统。

CygWin

CygWin 是运行在 Window 平台的类 Unix 环境,CygWIn 通过将部分 Posix 条用转换成 Window 的 API 调用,从而实现相关功能。

Git Bash

Git Bash 是安装 Git 时附带的一个命令行组件,它源于 MinGW,一个用于开发原生 Windows 应用的开发环境,提供了针对 WIn32 应用的 GCC、GNU binutils 等工具。

我们可以根据自己的需求进行选择,这里选择 Git Bash 的原因是 Git 通常作为开发是必备安装的,所以 Git Bash 也是自动就安装上了,随手可得,而且它支持很多的类 Linux 命令,支持 Linux 文件系统,可操作性好。

Read more   2019/09/12 posted in  日常折腾

CI 启用性能分析器

在控制器方法的任何地方加入

$this->output->enable_profiler(TRUE);

然后禁用掉自己写的输出类,

那么框架自带的输出类就会输出性能分析信息。

2019/08/20 posted in  日常折腾

sqlyog 如何导出建表语句

真傻了,这个问题弄了半天。

解决

点击表名后,在右侧的信息栏里面有啊:

2019/08/25 posted in  日常折腾

WIN10 E212:无法打开并写入文件

在 WIN10 中的 GIT BASH 中使用 VIM 编辑某个文件时突然出现这个错误。

这个错误在 Linux 上很常见,通常是因为当前用户没有修改文件的权限。但是在 Windows 上没有文件权限限制啊。

后来,偶然我知道了原因,可能是该文件需要以管理员方式编辑才能保存。所以我用管理员权限打开该文件,编辑并保存时果然可以了。

2019/08/12 posted in  日常折腾

Ubuntu 16.04 安装和配置 Redis

因为发现之前手动安装的 redis 与现有的教程不一样,所以总结统一一下安装的标准步骤。

安装依赖项

为了获取最新版本的 Redis,我们将从源代码进行编译和安装。下载源代码之前,需要先安装一些编译所需要的软件。我们安装 build-essential 包用于编译功能,安装 tcl 包用于测试编译后的二进制文件。执行下面的命令来安装依赖:

sudo apt-get update
sudo apt-get install build-essential tcl
Read more   2019/07/18 posted in  日常折腾