PHP中Curl将cookies原始字符串转换为数组

在Curl中我们有些时候需要将cookies字符串转换为数组,可以用下面的方法

public function setCookieString($string)
{
    $result = array();
    if(preg_match_all('/\s*([^;=]+)=([^;]+)/i',$string,$matches) > 0){
        if(isset($matches[1]) && isset($matches[2])){
            if(count($matches[1]) == count($matches[2])){
                foreach ($matches[1] as $handle => $key) {
                    $result[$key] = $matches[2][$handle];
                }
            }
        }
    }
    return $result;
}

参数只能放cookies字符串,如下图绿色框的部分

QQ截图20160510223551

tmc=1.170236450.59236819.1462889961066.1462889961066.1462889961066; tma=170236450.72078710.1438771475412.1449463856228.1449536313927.12; tmd=202.170236450.72078710.1438771475412.

 

MySQL5.6.30低配机器的配置文件,最小资源占用

[mysqld]

innodb_buffer_pool_size=5M
innodb_log_buffer_size=256K
query_cache_size=0
max_connections=10
key_buffer_size=8
thread_cache_size=0
host_cache_size=0
innodb_ft_cache_size=1600000
innodb_ft_total_cache_size=32000000

# per thread or per operation settings
thread_stack=131072
sort_buffer_size=32K
read_buffer_size=8200
read_rnd_buffer_size=8200
max_heap_table_size=16K
tmp_table_size=1K
bulk_insert_buffer_size=0
join_buffer_size=128
net_buffer_length=1K
innodb_sort_buffer_size=64K

#settings that relate to the binary log (if enabled)
binlog_cache_size=4K
binlog_stmt_cache_size=4K

引用文章:http://www.tocker.ca/2014/03/10/configuring-mysql-to-use-minimal-memory.html

二维码图片识别HTTP API,支持PHP,JavaScript等语言。PHP, JavaScript QR Code Reader API

项目地址:https://mydansun.github.io/QrCode-Reader-Node.js/

 

本地版本

实现图片中的二维码识别,基于Node.js

基于 LazarSoft / jsqrcode https://github.com/LazarSoft/jsqrcode

可以从拍摄的图片中提取二维码,比如下面的图片

部署方法请到Github查看 https://mydansun.github.io/QrCode-Reader-Node.js/

test

在线版本

https://qr.api.onlyke.com/reader?url=[图片地址]

一个例子:https://qr.api.onlyke.com/reader?url=https://github.com/mydansun/QrCode-Reader-Node.js/raw/master/test/test.jpg

API服务器在日本,小站运营,捐赠配置请联系我!!

返回数据

识别错误

{
    "status":0,
    "error":"这里是错误信息"
}

识别成功

{
    "status": 1,
    "content": "这是二维码的文本内容"
}

 

PHPExcel在高版本PHP7中,Writer->save出现ERR_INVALID_RESPONSE错误的解决方法

这个Writer->save错误可能由于很多原因导致,其中有一部分是因为header和缓冲区的错误导致的

这部分具体讨论可以看这里http://stackoverflow.com/questions/8566196/phpexcel-to-download

 

然而还有一个不容易发现的问题,在高版本PHP7下,出现ERR_INVALID_RESPONSE的错误还可能由于下面的原因导致

Fatal error: 'break' not in the 'loop' or 'switch' context in <mypath>\PHPExcel\PHPExcel\Calculation\Functions.php on line 581

请打开PHPExcel\Calculation\Functions.php文件,删除掉581行的break即可

引用参考:https://github.com/PHPOffice/PHPExcel/issues/716

一步一步学Laravel,安装gulp使用Laravel Elixir编辑前端资源

1. 如果没有安装nodejs,先安装nodejs和npm

访问https://nodejs.org/en/download/,下载你需要的包进行安装

Linux用户可以使用下面命令,/usr/local/node-4.4.0是我想安装的位置,可以换成你自己的

wget https://nodejs.org/dist/v4.4.0/node-v4.4.0-linux-x64.tar.xz
xz -d node-v4.4.0-linux-x64.tar.xz
tar -xvf node-v4.4.0-linux-x64.tar
mv node-v4.4.0-linux-x64 /usr/local/node-4.4.0

修改/etc/profile,为node配置环境变量

PATH=$PATH:/usr/local/node-4.4.0/bin
export PATH

然后执行下面命令使得更改生效

source /etc/profile

然后我们执行下面命令,显示版本号就代表nodejs安装成功

node -v

2. 回到我们的项目目录,进行使用Laravel Elixir的准备工作

安装全局gulp

npm install --global gulp

然后我们需要在项目目录再安装一次gulp,不执行这步会提示Local gulp not found

npm install gulp

然后安装Laravel Elixir

npm install

最后,Elixir 基于 Gulp,所以要运行 Elixir 命令你只需要在Shell中运行 gulp 命令即可。添加 –production 标识到命令将会最小化 CSS 和 JavaScript 文件

// Run all tasks...
gulp

// Run all tasks and minify all CSS and JavaScript...
gulp --production

3. 使用gulpfile.js

打开Laravel根目录的gulpfile.js文件,我们可以通过这个文件来为gulp配置任务

elixir(function(mix) {
    var output = 'public/assets/css';
    mix.less('bootstrap.less',output);
    mix.less('colors.less',output);
    mix.less('components.less',output);
    mix.less('core.less',output);
});

比如,上面的代码表示我们要把/resources/assets/less(LESS的默认目录)下面的bootstrap.less等这几个文件(如下图)使用less编译输出到public/assets/css目录

QQ截图20160316002851

然后我们在Shell里运行gulp即可开始任务,并能看到成功或错误的提示

gulp

QQ截图20160316003141

更多请参考 http://laravelacademy.org/post/3137.html

一步一步学Laravel,使用rlwrap让PHP Shell支持方向键历史记录

在默认情况下,我们的PHP Shell中使用方向键会被输入乱码比如^[[C^[[B^[[A^H^[:^C ,而且上下也不能支持历史记录,如图

QQ截图20160314005721

首先,我们下载rlwrap

wget http://utopia.knoware.nl/~hlub/uck/rlwrap/rlwrap-0.42.tar.gz

然后解压,配置和编译

tar zxvf rlwrap-0.42.tar.gz
cd rlwrap-0.42
./configure
make && make install

现在我们就可以使用如下命令来用rlwrap运行PHP Shell了

rlwrap php artisan tinker

如果觉得每次都要开头都要加rlwrap麻烦,可以执行下面的操作

vi ~/.bash_profile

我们在.bash_profile文件的末尾加上,注意下面的语句不要加空格什么的,请保持原样

alias php='rlwrap php'

然后执行

source ~/.bash_profile

现在只需要直接运行php artisan 也可以支持了