PHP 解析json字符串遇到的一个坑  

在处理api post过来的json数据的时候,一直无法解析 json 字符串 {"code":"U2650VUq2Q93fQaFFvlJeg==","timestamp":1503987065,"nonce":"abcdefg","userId":56,"signature":"b5fadf482bb755374bf8fcbf399c97d376

Posted:2017-08-29  By vilay

如何发布自己的Composer包  

Composer 是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。 现在应该所有的框架都支持使用Composer进行包管理了。如何发布自己的包呢? 首先,去github创建一个自己的包,例如https://github.com/zhujp/wechat.git 克隆到本地 git clone https://github.com/zhujp/wechat.git 进入目录,

Posted:2017-08-26  By vilay

Ajax 图片上传  

表单使用Ajax上传图片 HTML代码 <form id="up-form"> <input type="file" name="img" onchange="ajaxUp()" /> </form> Javascript代码 function ajaxUp() { var data = new FormData($("#up-form")[0]); var u

Posted:2017-08-25  By vilay

Mac 修改cli模式下php版本  

Mac下安装了多个版本的php,有php5.6,php5.5,php7.1,经常系统升级或者什么故障下就凌乱了。 我在fpm下是php7.1的,今天在执行单元测试的时候,发现cli下又变成5.5的了。 尝试了下 brew link php71 发现当前已经是这样的了。 然后使用命令查看了下 brew info php55 有这么一句 ✩✩✩✩ PHP CLI ✩✩✩✩ If you wish to swap the PHP you use on the command line, you sho

Posted:2017-08-20  By vilay

Linux 快速清空文件内容  

有时候日志文件过大了,删除了还需要重建,可能还需要重新赋予权限比较麻烦,所以可以清空文件内容,这样比较方便。 清空文件内容主要有三个方法 1. echo "" > test.txt # 输出个空字符串到文件里面 2. > test.txt # >是定向输出到文件,如果文件不存在,则创建文件;如果文件存在,则清空; 3. cat/dev/null > test.txt 另外再提一个 >> 是将输出内容追加到目标文件中。如果文件不存在,则创建文

Posted:2017-08-20  By vilay

-bash: brew: command not found  

在使用brew的时候,提示错误 -bash: brew: command not found 解决方案 vim /etc/profilt 尾部添加 PATH=".;$PATH:/usr/local/bin" 执行命令 source /etc/profile 原因有可能是你新增的环境变量,但是未把之前的引入导致了无法使用。

Posted:2017-08-17  By vilay

Sublime:There are no packages available for installation  

Mac下sublime安装包的时候一只提示 There are no packages available for installation 解决方法:修改hosts重启sublime sudo vi /ect/hosts 50.116.34.243 sublime.wbond.net

Posted:2017-08-13  By vilay

Git:fatal: refusing to merge unrelated histories  

在使用git关联远程仓库的时候,准备提交,执行 git pull的时候报错 fatal: refusing to merge unrelated histories 解决方法: git pull origin master --allow-unrelated-histories

Posted:2017-08-11  By vilay

使用Homebrew管理php扩展  

Mac下使用Homebrew 安装PHP,之前在安装PHP的时候,安装pcntl扩展,由于缺乏安装包,php7.1版本的,pcntl安装成7.0的了,在cli模式下,使用的时候一直报错 PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/opt/php71-pcntl/pcntl.so' - dlopen(/usr/local/opt/php71-pcntl/pcntl.so, 9): image not fo

Posted:2017-08-02  By vilay

记一次解决Web站点可以通过IP访问,用域名无法访问思路  

Web站点环境是Centos 7,Nginx,PHP7,Mysql。 刚开始的时候思维一直局限于是服务器配置问题。 查看了下Nginx的虚拟主机配置,看了下发现没有问题。 用ping测试了下域名,数据也都有传到。 后面看了下Nginx的错误日志 82 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream 发现错误日志,终于觉得有希望可以解决了。搜

Posted:2017-07-31  By vilay

Shell 统计软件工程项目代码的行数  

使用Shell统计项目PHP代码的总行数 find ./ -name '*.php' | xargs wc -l; 统计PHP文件个数 find ./test.com -name "*.php" |wc -l

Posted:2017-07-28  By vilay

Git 使用笔记  

基本概念 工作区:工作区就是我们项目的代码所在文件夹,除了.git部分 暂存区:我们提交代码在add 的时候都是添加到暂存区 仓库(repository):仓库分本地仓库跟远程仓库,本地仓库就是.git里面的,远程仓库就是托管与github等第三方平台,或者远程git服务器上的仓库 基本操作 我比较常用的是在第三方平台上创建repository然后clone代码到本地,例如 git clone https://github.com/zhujp/slim-api.git 这样在本地就会有个slim

Posted:2017-07-27  By vilay

Centos 安装pcntl扩展  

Centos下使用yum安装php默认是都不带pcntl扩展,需要安装扩展需要下载安装包,编译安装 首先查看服务器版本 php -v 比如我的版本是 php 7.0.20,进入官网下载对应的安装包 下载地址下载地址 下载完之后,解压 tar zxvf php-7.0.21.tar.gz 进入扩展目录 cd php-7.0.21/ext/ 找到 pcntl扩展目录,进入目录 cd pcntl 编译安装 /usr/bin/phpize ./configure --with-php-config=/u

Posted:2017-07-12  By vilay

Linux 使用expect 解决shell中使用scp 输入密码问题  

实现服务器之间文件同步功能 使用scp同步服务器之间的文件,之前有介绍一个方法实现怎么在SHELL 中使用SCP不输入密码 这边在介绍个方法,借助expect expect是建立在tcl基础上的一个工具,它用来让一些需要交互的任务自动化地完成。 安装 yum install -y expect 使用 vi expect_scp.exp #!/usr/bin/expect -f set timeout -1 # -1表示时间不限, 10 表示10秒,以秒为单位 set host [lindex $

Posted:2017-07-10  By vilay

Goutte学习笔记  

Goutte 是一个简单的PHP爬虫库,功能非常强大。提供了一些非常好的的api去爬取网站,从HTML/XML中提取数据。Github地址 使用示例 <?php namespace app\controllers; use Goutte\Client; use GuzzleHttp\Client as GuzzleClient; class SpiderController extends Controller { public $client; public function __con

Posted:2017-07-09  By vilay