<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[programercch的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/programercch</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; programercch]]></copyright><item><title><![CDATA[General error: 1366 Incorrect string value: '\xF0\x9F\x98\x8A' for column xxxx]]></title><link>https://blog.youkuaiyun.com/programercch/article/details/105275045</link><guid>https://blog.youkuaiyun.com/programercch/article/details/105275045</guid><author>programercch</author><pubDate>Thu, 02 Apr 2020 18:03:21 +0800</pubDate><description><![CDATA[今天调试接口往某个字段插入输入法表情，遇见mysql报错General error: 1366 Incorrect string value: '\xF0\x9F\x98\x8A' for column xxxx，网上查了下是mysql编码格式问题！mysql中的utf8只能存储1~3个字节长度的utf-8编码,而输入法的表情占4个字节长度，所以会报错！

解决方法：将mysql字符编码改成utf...]]></description><category></category></item><item><title><![CDATA[VM12安装Centos7并配置多台克隆机]]></title><link>https://blog.youkuaiyun.com/programercch/article/details/104813016</link><guid>https://blog.youkuaiyun.com/programercch/article/details/104813016</guid><author>programercch</author><pubDate>Thu, 12 Mar 2020 15:30:10 +0800</pubDate><description><![CDATA[参考文档:https://blog.youkuaiyun.com/babyxue/article/details/80970526

最近准备配置一下nginx集群和mysql集群，因此需要多台机器配置，这里我选择用多台虚拟机来配置。

1.虚拟机：VMware12 镜像：centos7 镜像地址：http://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-...]]></description><category></category></item><item><title><![CDATA[php中in_array()和array_search()函数的缺陷]]></title><link>https://blog.youkuaiyun.com/programercch/article/details/104647478</link><guid>https://blog.youkuaiyun.com/programercch/article/details/104647478</guid><author>programercch</author><pubDate>Wed, 04 Mar 2020 09:51:46 +0800</pubDate><description><![CDATA[当使用in_array()或array_search()函数时，如果$strict参数没有设置为true，则将使用松散比较来判断$needle是否在$haystack中.

下面是in_array()或array_search函数在没有设置$strict参数时的执行结果


$arr = [0,1,2,'3'];
var_dump(in_array('abc', $arr, true));//tr...]]></description><category></category></item><item><title><![CDATA[php中switch的比较缺陷]]></title><link>https://blog.youkuaiyun.com/programercch/article/details/104638323</link><guid>https://blog.youkuaiyun.com/programercch/article/details/104638323</guid><author>programercch</author><pubDate>Tue, 03 Mar 2020 18:27:56 +0800</pubDate><description><![CDATA[挡在switch中使用case判断数字时，switch会将其中的参数转换为int类型进行计算，如一下代码所示


$num = '2hacker';
switch ($num) {
	case 0: echo "say it none hello world";
		break;
	case 1: echo "say it once  hello world";
		break;
	case 2:...]]></description><category></category></item><item><title><![CDATA[php5.6新特性，使用...运算符]]></title><link>https://blog.youkuaiyun.com/programercch/article/details/104616157</link><guid>https://blog.youkuaiyun.com/programercch/article/details/104616157</guid><author>programercch</author><pubDate>Mon, 02 Mar 2020 17:47:51 +0800</pubDate><description><![CDATA[现在可以不依赖func_get_args()， 使用...运算符 来实现变长参数函数


&lt;?php
function f($req, $opt = null, ...$params) {
    // $params 是一个包含了剩余参数的数组
    printf('$req: %d; $opt: %d; number of params: %d'."\n",
         ...]]></description><category></category></item><item><title><![CDATA[php7.3到php7.4新特性]]></title><link>https://blog.youkuaiyun.com/programercch/article/details/104614986</link><guid>https://blog.youkuaiyun.com/programercch/article/details/104614986</guid><author>programercch</author><pubDate>Mon, 02 Mar 2020 17:23:03 +0800</pubDate><description><![CDATA[1.对象属性现在支持类型申明


&lt;?php
class User {
    public int $id;
    public string $name;
}
?&gt;

上列例子中将会强制转化$id为integer类型，$name为字符串类型



2.箭头函数

现在箭头函数会提供一个短语法用来定义那些在作用域内值申明不明确的函数


&lt;?php
$factor = 10...]]></description><category></category></item><item><title><![CDATA[学习并记录下php7.1到7.3的新特性]]></title><link>https://blog.youkuaiyun.com/programercch/article/details/104614355</link><guid>https://blog.youkuaiyun.com/programercch/article/details/104614355</guid><author>programercch</author><pubDate>Mon, 02 Mar 2020 16:57:58 +0800</pubDate><description><![CDATA[标量类型声明

1.PHP 7 中的函数的形参类型声明可以是标量了。在 PHP 5 中只能是类名、接口、array 或者 callable (PHP 5.4，即可以是函数，包括匿名函数)，现在也可以使用 string、int、float和 bool 了。


&lt;?php
// 强制模式
function sumOfInts(int ...$ints)
{
    return array_s...]]></description><category></category></item><item><title><![CDATA[微信公众号配置授权，php实现微信分享]]></title><link>https://blog.youkuaiyun.com/programercch/article/details/104613611</link><guid>https://blog.youkuaiyun.com/programercch/article/details/104613611</guid><author>programercch</author><pubDate>Mon, 02 Mar 2020 16:26:46 +0800</pubDate><description><![CDATA[微信开放的JS-SDK面向网页开发者提供了基于微信内的网页开发工具包，最直接的好处就是我们可以使用微信分享、扫一扫、卡券、支付等微信特有的能力

配置授权思路：首先要获取access_token(access_token利用缓存保存起来，方便全局访问),然后根据access_token获取jsapi_ticket，在通过获取到的jsapi_ticket以及随机生成的字符串、时间戳，再加上需要授权的...]]></description><category></category></item><item><title><![CDATA[Cannot find config.m4.  Make sure that you run '/usr/bin/phpize' in the top level source directory]]></title><link>https://blog.youkuaiyun.com/programercch/article/details/77983786</link><guid>https://blog.youkuaiyun.com/programercch/article/details/77983786</guid><author>programercch</author><pubDate>Thu, 14 Sep 2017 18:44:35 +0800</pubDate><description><![CDATA[今天准备编译一个php扩展，在phpize时遇到了这样的问题！
 其实有过多次编译安装php或php扩展的人都会发现 格式是这样的

$ cd extname
$ phpize
$ ./configure
$ make
# make install
官网介绍

其中有的php扩展在phpize这个过程是需要config.m4这个文件的，否则会报错
 
解决方法：找个config.m]]></description><category></category></item><item><title><![CDATA[Navicat 导入数据报错 --- 1153 - Got a packet bigger than 'max_allowed_packet' bytes]]></title><link>https://blog.youkuaiyun.com/programercch/article/details/73231925</link><guid>https://blog.youkuaiyun.com/programercch/article/details/73231925</guid><author>programercch</author><pubDate>Wed, 14 Jun 2017 15:08:46 +0800</pubDate><description><![CDATA[今天在用Navicat导入SQL文件时报错：MySQL 错误 Err [Imp] 1153 - Got a packet bigger than
 'max_allowed_packet' bytes

查了一下，原来是mysql默认读取执行的SQL文件最大为16M，我这个SQL文件260M，所以执行不过去

解决方法：

在MySQL安装目录下找到文件my.cnf，搜索[mysql]]></description><category></category></item><item><title><![CDATA[Reading table information for completion of table and column names]]></title><link>https://blog.youkuaiyun.com/programercch/article/details/72954691</link><guid>https://blog.youkuaiyun.com/programercch/article/details/72954691</guid><author>programercch</author><pubDate>Fri, 09 Jun 2017 10:55:18 +0800</pubDate><description><![CDATA[命令行操作数据库时发现这样的问题:
mysql> use dbname 
Reading table information for completion of table and column names 
You can turn off this feature to get a quicker startup with -A 
然后就卡在这里。


是由于数据库太大，即数据库]]></description><category></category></item><item><title><![CDATA[1030 Got error 139 from storage engine]]></title><link>https://blog.youkuaiyun.com/programercch/article/details/72954415</link><guid>https://blog.youkuaiyun.com/programercch/article/details/72954415</guid><author>programercch</author><pubDate>Fri, 09 Jun 2017 10:40:53 +0800</pubDate><description><![CDATA[今天用Navicat导入一份SQL文件，其中一条数据插入时报错：1030 Got error 139 from storage engine！
经google发现，InnoDB的单条记录有8K的限制，而我插入的这条数据有82个字段，而且大部分字段是longblob类型，数据比较大，导致报错


解决方法：我将插入数据的那张table引擎改为MYISAM就不会报错了


官网对此也有解]]></description><category></category></item><item><title><![CDATA[mysql 远程连接数据库的二种方法]]></title><link>https://blog.youkuaiyun.com/programercch/article/details/70232090</link><guid>https://blog.youkuaiyun.com/programercch/article/details/70232090</guid><author>programercch</author><pubDate>Tue, 18 Apr 2017 20:08:25 +0800</pubDate><description><![CDATA[一、连接远程数据库：
1、显示密码

如：MySQL 连接远程数据库（192.168.5.116），端口“3306”，用户名为“root”，密码“123456”
C:/>mysql -h 192.168.5.116 -P 3306 -u root -p123456
2、隐藏密码

如：MySQL 连接本地数据库，用户名为“root”，
C:/>mysql -h localhost ]]></description><category></category></item><item><title><![CDATA[Linux Shell编程入门]]></title><link>https://blog.youkuaiyun.com/programercch/article/details/70140954</link><guid>https://blog.youkuaiyun.com/programercch/article/details/70140954</guid><author>programercch</author><pubDate>Wed, 12 Apr 2017 11:23:20 +0800</pubDate><description><![CDATA[从程序员的角度来看， Shell本身是一种用C语言编写的程序，从用户的角度来看，Shell是用户与Linux操作系统沟通的桥梁。用户既可以输入命令执行，又可以利用 Shell脚本编程，完成更加复杂的操作。在Linux GUI日益完善的今天，在系统管理等领域，Shell编程仍然起着不可忽视的作用。深入地了解和熟练地掌握Shell编程，是每一个Linux用户的必修 功课之一。
Linux的Shell]]></description><category></category></item><item><title><![CDATA[Peer cert cannot be verified or peer cert invalid]]></title><link>https://blog.youkuaiyun.com/programercch/article/details/68227818</link><guid>https://blog.youkuaiyun.com/programercch/article/details/68227818</guid><author>programercch</author><pubDate>Wed, 29 Mar 2017 23:21:09 +0800</pubDate><description><![CDATA[centos系统 
用yum安装php时报错 Peer cert cannot be verified or peer cert invalid；
解决方法：add "sslverify=false" in /etc/yum.conf
如果不行再去查查吧]]></description><category></category></item><item><title><![CDATA[yaf框架自动生成目录]]></title><link>https://blog.youkuaiyun.com/programercch/article/details/62419579</link><guid>https://blog.youkuaiyun.com/programercch/article/details/62419579</guid><author>programercch</author><pubDate>Thu, 16 Mar 2017 11:48:06 +0800</pubDate><description><![CDATA[安装完yaf框架后，发现项目目录还要自己配置，正如鸟哥说的，yii，ci等面向对象框架是“手中有剑，心中亦有剑”，那么yaf则是“手中无剑，心中有剑”，需要你按照官方给出的文档，按照目录结构预先搭好你项目的脚手架，
这里我偷懒从yaf开发群处下载到了标准的目录结构,也可以使用安装包里自带的yaf_cg生成目录，这里有我下载好的目录结构：
http://download.youkuaiyun.com/det]]></description><category></category></item><item><title><![CDATA[Linux 基础 —— RPM]]></title><link>https://blog.youkuaiyun.com/programercch/article/details/62419015</link><guid>https://blog.youkuaiyun.com/programercch/article/details/62419015</guid><author>programercch</author><pubDate>Thu, 16 Mar 2017 11:21:22 +0800</pubDate><description><![CDATA[原文链接




这篇文章主要讲 RPM 软件包管理器的使用。

软件包的演变史

最早期时，软件包是一些可以运行的程序组成的集合，可能还要加上若干配置文件和动态库。例如，程序员将针对某个平台编译好的二进制文件、程序所依赖的动态库文件（如 .so 和 .dll 为扩展名的文件）以及配置文件复制到一个目录中，这个目录就可以称为一个软件包。

为了保证使用的软件包能够方便且快速地]]></description><category></category></item><item><title><![CDATA[linux中下载命令详解]]></title><link>https://blog.youkuaiyun.com/programercch/article/details/62418706</link><guid>https://blog.youkuaiyun.com/programercch/article/details/62418706</guid><author>programercch</author><pubDate>Thu, 16 Mar 2017 11:08:20 +0800</pubDate><description><![CDATA[1.wget
wget是linux最常用的下载命令，一般的使用方法是wget+空格+要下载的文件的url路径
常用的参数一般是-c，可以断点续传，下载终止可以用命令接着继续下载
wget常用参数

◆-b：后台下载，Wget默认的是把文件下载到当前目录。
◆-O：将文件下载到指定的目录中。
◆-P：保存文件之前先创建指定名称的目录。
◆-t：尝试连接次数，当Wget无法与服务器建立]]></description><category></category></item><item><title><![CDATA[js在控制台中调试的一些函数]]></title><link>https://blog.youkuaiyun.com/programercch/article/details/59528338</link><guid>https://blog.youkuaiyun.com/programercch/article/details/59528338</guid><author>programercch</author><pubDate>Thu, 02 Mar 2017 15:39:13 +0800</pubDate><description><![CDATA[console.log(object[, object, ...])
在控制台输出一条消息。如果有多个参数，输出时会用空格隔开这些参数。

第一个参数可以是一个包含格式化占位符输出的字符串，例如：

console.log("The %s jumped over %d tall buildings", animal, count);


上面的例子可以用下面的无格式化占位符输出的代]]></description><category></category></item><item><title><![CDATA[Linux下安装mongoDB扩展时报错：make: *** [io_stream.lo] Error 1]]></title><link>https://blog.youkuaiyun.com/programercch/article/details/59105769</link><guid>https://blog.youkuaiyun.com/programercch/article/details/59105769</guid><author>programercch</author><pubDate>Wed, 01 Mar 2017 14:29:04 +0800</pubDate><description><![CDATA[安装mongoDB扩展经过make编译时报错：make: *** [io_stream.lo] Error 1
解决方法：需要安装openssl-devel
命令：yum install -y openssl-devel]]></description><category></category></item></channel></rss>