<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[newfarhui的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/newfarhui</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; newfarhui]]></copyright><item><title><![CDATA[PHP常用小功能]]></title><link>https://blog.youkuaiyun.com/newfarhui/article/details/81448378</link><guid>https://blog.youkuaiyun.com/newfarhui/article/details/81448378</guid><author>newfarhui</author><pubDate>Mon, 06 Aug 2018 08:59:54 +0800</pubDate><description><![CDATA[ 

1. 获取网站是http还是https ?


			 
			
		
			$http_type = ((isset($_SERVER['HTTPS']) &amp;amp;&amp;amp; $_SERVER['HTTPS'] == 'on') || (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) &amp;amp;&amp;amp; $_SERVER['HTTP_X_FORWAR...]]></description><category></category></item><item><title><![CDATA[cmd 命令大全]]></title><link>https://blog.youkuaiyun.com/newfarhui/article/details/81448361</link><guid>https://blog.youkuaiyun.com/newfarhui/article/details/81448361</guid><author>newfarhui</author><pubDate>Mon, 06 Aug 2018 08:58:29 +0800</pubDate><description><![CDATA[AT 计划在计算机上运行的命令和程序。
ATTRIB 显示或更改文件属性。
BREAK 设置或清除扩展式 CTRL+C 检查。
CACLS 显示或修改文件的访问控制列表(ACLs)。
CALL 从另一个批处理程序调用这一个。
CD 显示当前目录的名称或将其更改。
CHCP 显示或设置活动代码页数。
CHDIR 显示当前目录的名称或将其更改。
CHKDSK 检查磁盘并显示状态报告。
CHKNTFS ...]]></description><category></category></item><item><title><![CDATA[php 数据库去重]]></title><link>https://blog.youkuaiyun.com/newfarhui/article/details/81448342</link><guid>https://blog.youkuaiyun.com/newfarhui/article/details/81448342</guid><author>newfarhui</author><pubDate>Mon, 06 Aug 2018 08:56:55 +0800</pubDate><description><![CDATA[对于两种去重方式：
利用distinct去重、简单易用，但只能对于单一字段去重，并且最终的结果也仅为去重的字段，实际应用价值不是特别大。
利用group去重，最终的显示结果为所有字段，且对单一字段进行了去重操作，效果不错，但最终显示结果除去去重字段外，按照第一个字段进行排序，可能还需要处理。

 

$test_data = M('hot'); //实例化数据表

$data = $test_da...]]></description><category></category></item><item><title><![CDATA[ubuntu下安装Apache+PHP+Mysql]]></title><link>https://blog.youkuaiyun.com/newfarhui/article/details/81448329</link><guid>https://blog.youkuaiyun.com/newfarhui/article/details/81448329</guid><author>newfarhui</author><pubDate>Mon, 06 Aug 2018 08:55:19 +0800</pubDate><description><![CDATA[ 

无法安装apache2的问题出在执行sudo apt-get install之前更换了软件源，但是却忘了update下了，于是执行下面的命令：

sudo apt-get update

步骤一，安装apache2

sudo apt-get install apache2
安装完成。 
运行如下命令重启下：
sudo /etc/init.d/apache2 stop/start
sudo ...]]></description><category></category></item><item><title><![CDATA[阿里云服务器Apache环境下搭建HTTPS环境并且设置http自动跳转到https]]></title><link>https://blog.youkuaiyun.com/newfarhui/article/details/81448325</link><guid>https://blog.youkuaiyun.com/newfarhui/article/details/81448325</guid><author>newfarhui</author><pubDate>Mon, 06 Aug 2018 08:54:40 +0800</pubDate><description><![CDATA[ 

本服务器使用的环境是apache，系统是Ubuntu
使用的阿里云的服务器，所以在阿里云中下载证书。
当然你还可以去CA认证服务机构官网或七牛云存储中下载证书

 第一步：在阿里云官网下载CA证书

1.在阿里云官网里的云盾中CA服务证书选项里进行下载证书

2.选择并购买证书，本人选的是DV SSL，1年内保护一个域名



3.支付成功后，去云盾控制台–&amp;gt;选择证书服务–&amp;gt;补全...]]></description><category></category></item><item><title><![CDATA[Ubuntu 隐藏TP入口文件]]></title><link>https://blog.youkuaiyun.com/newfarhui/article/details/81448275</link><guid>https://blog.youkuaiyun.com/newfarhui/article/details/81448275</guid><author>newfarhui</author><pubDate>Mon, 06 Aug 2018 08:50:42 +0800</pubDate><description><![CDATA[按照thinkphp手册中来讲，apache服务器下，隐藏thinkphp入口文件有3步：
httpd.conf配置文件中加载了mod_rewrite.so模块
AllowOverride None 将None改为 All
把下面的内容保存为.htaccess文件放到应用入口文件的同级目录下:                                                     ...]]></description><category></category></item><item><title><![CDATA[Ubuntu 下Apache安装和配置]]></title><link>https://blog.youkuaiyun.com/newfarhui/article/details/81448260</link><guid>https://blog.youkuaiyun.com/newfarhui/article/details/81448260</guid><author>newfarhui</author><pubDate>Mon, 06 Aug 2018 08:49:12 +0800</pubDate><description><![CDATA[ 

在Ubuntu上安装Apache，有两种方式：1 使用开发包的打包服务，例如使用apt-get命令；2 从源码构建Apache。

方法一：使用开发包的打包服务——apt-get

安装apache，在命令行终端中输入一下命令：

$ sudo apt-get install apache2

安装完成后，重启apache服务，在命令行终端中输入一下命令：

$ sudo /etc/init...]]></description><category></category></item><item><title><![CDATA[PHP 访问URL的四种方式]]></title><link>https://blog.youkuaiyun.com/newfarhui/article/details/81448238</link><guid>https://blog.youkuaiyun.com/newfarhui/article/details/81448238</guid><author>newfarhui</author><pubDate>Mon, 06 Aug 2018 08:46:44 +0800</pubDate><description><![CDATA[1、fopen方式 
//访问指定URL函数
function access_url($url) 
{        if($url=='') return false;       
$fp = fopen($url, 'r') or exit('Open url faild!');        
if($fp){       while(!feof($fp)) {           
 $...]]></description><category></category></item><item><title><![CDATA[ubuntu 设置多站点]]></title><link>https://blog.youkuaiyun.com/newfarhui/article/details/81448230</link><guid>https://blog.youkuaiyun.com/newfarhui/article/details/81448230</guid><author>newfarhui</author><pubDate>Mon, 06 Aug 2018 08:45:42 +0800</pubDate><description><![CDATA[1.我们先加入hosts   
sudo vim /etc/hosts
2.修改hosts配置文件
127.0.0.1       localhost
 
127.0.0.1       admin.app.com
127.0.0.1       test.app.com
 
# The following lines are desirable for IPv6 capable hosts
::...]]></description><category></category></item><item><title><![CDATA[常用正则式]]></title><link>https://blog.youkuaiyun.com/newfarhui/article/details/81389076</link><guid>https://blog.youkuaiyun.com/newfarhui/article/details/81389076</guid><author>newfarhui</author><pubDate>Fri, 03 Aug 2018 15:48:38 +0800</pubDate><description><![CDATA[﻿1.    平时做网站经常要用正则表达式，下面是一些讲解和例子，仅供大家参考和修改使用：
2.    &quot;^\d+$&quot;　　//非负整数（正整数 + 0）
3.    &quot;^[0-9]*[1-9][0-9]*$&quot;　　//正整数
4.    &quot;^((-\d+)|(0+))$&quot;　　//非正整数（负整数 + 0）
5.    &quot;^-[0-9]*[1-9][0-9]*$&quot;　　//负整数
6.    &quot;^-?\...]]></description><category></category></item><item><title><![CDATA[PHP 接受POST数据的几种方法]]></title><link>https://blog.youkuaiyun.com/newfarhui/article/details/81389049</link><guid>https://blog.youkuaiyun.com/newfarhui/article/details/81389049</guid><author>newfarhui</author><pubDate>Fri, 03 Aug 2018 15:47:36 +0800</pubDate><description><![CDATA[$GLOBALS [&quot;HTTP_RAW_POST_DATA&quot;]跟$_POST,file_get_contents('php://input') 差不多，用$GLOBALS [&quot;HTTP_RAW_POST_DATA&quot;]或file_get_contents('php://input')的情况大多是为了获取$_POST无法接收的数据类型（如XML数据）。

 

在$GLOBALS [&quot;HTTP_RAW...]]></description><category></category></item><item><title><![CDATA[几种php访问url的方法]]></title><link>https://blog.youkuaiyun.com/newfarhui/article/details/81389024</link><guid>https://blog.youkuaiyun.com/newfarhui/article/details/81389024</guid><author>newfarhui</author><pubDate>Fri, 03 Aug 2018 15:46:36 +0800</pubDate><description><![CDATA[ 

 

1、fopen方式


			 
			
		 


			//访问指定URL函数

			function access_url($url)

			{        if($url=='') return false;      

			$fp = fopen($url, 'r') or exit('Open url faild!');       

			if($fp){  ...]]></description><category></category></item><item><title><![CDATA[PHP 数组分页]]></title><link>https://blog.youkuaiyun.com/newfarhui/article/details/81388992</link><guid>https://blog.youkuaiyun.com/newfarhui/article/details/81388992</guid><author>newfarhui</author><pubDate>Fri, 03 Aug 2018 15:45:30 +0800</pubDate><description><![CDATA[&amp;lt;?php      
/**   
 * 数组分页函数  核心函数  array_slice   
 * 用此函数之前要先将数据库里面的所有数据按一定的顺序查询出来存入数组中   
 * $count   每页多少条数据   
 * $page   当前第几页   
 * $array   查询出来的所有数组   
 * order 0 - 不变     1- 反序   
 */     ...]]></description><category></category></item><item><title><![CDATA[PHP生成唯一ID之SnowFlake算法详解]]></title><link>https://blog.youkuaiyun.com/newfarhui/article/details/81388965</link><guid>https://blog.youkuaiyun.com/newfarhui/article/details/81388965</guid><author>newfarhui</author><pubDate>Fri, 03 Aug 2018 15:44:40 +0800</pubDate><description><![CDATA[ 

 

snowflake算法是个啥？首先我来提出个问题，怎么在分布式系统中生成唯一性id并保持该id大致自增？在twitter中这是最重要的业务场景，于是twitter推出了一种snowflake算法。

前言：最近需要做一套CMS系统，由于功能比较单一，而且要求灵活，所以放弃了WP这样的成熟系统，自己做一套相对简单一点的。文章的详情页URL想要做成url伪静态的格式即xxx.html 其中...]]></description><category></category></item><item><title><![CDATA[PHP 生成随机数]]></title><link>https://blog.youkuaiyun.com/newfarhui/article/details/81388931</link><guid>https://blog.youkuaiyun.com/newfarhui/article/details/81388931</guid><author>newfarhui</author><pubDate>Fri, 03 Aug 2018 15:43:37 +0800</pubDate><description><![CDATA[&amp;lt;!-- 一：mt_rand() --&amp;gt;
function GetRandStr($length){  
    $str='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';  
    $len=strlen($str)-1;  
    $randstr='';  
    for($i=0;$i&amp;lt...]]></description><category></category></item><item><title><![CDATA[支付宝退款]]></title><link>https://blog.youkuaiyun.com/newfarhui/article/details/81388874</link><guid>https://blog.youkuaiyun.com/newfarhui/article/details/81388874</guid><author>newfarhui</author><pubDate>Fri, 03 Aug 2018 15:41:28 +0800</pubDate><description><![CDATA[ 

官方文档 https://docs.open.alipay.com/api_1/alipay.trade.refund

把配置弄好 基本是直接成功了。

 

/**
    * 支付宝 退款
  * @user 一秋
   * @param $out_trade_no
    * @param $refund_amount
    * @return bool
    * @throws...]]></description><category></category></item><item><title><![CDATA[ThinkPHP3.2.3框架下使用支付宝接口实现付款功能]]></title><link>https://blog.youkuaiyun.com/newfarhui/article/details/81388846</link><guid>https://blog.youkuaiyun.com/newfarhui/article/details/81388846</guid><author>newfarhui</author><pubDate>Fri, 03 Aug 2018 15:40:30 +0800</pubDate><description><![CDATA[ 

1、下载PHP版本的SDK（注：服务器上的php版本必须在5.5以上，否则会报错）

2、将SDK文件夹重命名为alipay并放到TP框架的Vendor文件夹下

3、打开alipay/lotusphp_runtime/shortcut.php将C函数变更为CC（由于C函数与TP的C函数重复）

4、调用接口用Vendor(alipay.Aopsdk)

调用实例：

Vendor('Ali...]]></description><category></category></item><item><title><![CDATA[php文件锁解决高并发]]></title><link>https://blog.youkuaiyun.com/newfarhui/article/details/81387388</link><guid>https://blog.youkuaiyun.com/newfarhui/article/details/81387388</guid><author>newfarhui</author><pubDate>Fri, 03 Aug 2018 14:44:40 +0800</pubDate><description><![CDATA[ 

加上文件锁后的下单处理代码:

【一】.阻塞模式：(如果其他进程已经加锁文件,当前进程会一直等其他进程解锁文件后继续执行)


&amp;lt;?php
//连接数据库
$con=mysqli_connect(&quot;192.168.2.186&quot;,&quot;root&quot;,&quot;root&quot;,&quot;test&quot;);

//查询商品数量是否大于0,大于0才能下单,并减少库存

$fp = fopen(&quot;lock.txt&quot;, &quot]]></description><category></category></item><item><title><![CDATA[Ubuntu 安装 Redis和phpredis扩展]]></title><link>https://blog.youkuaiyun.com/newfarhui/article/details/81382974</link><guid>https://blog.youkuaiyun.com/newfarhui/article/details/81382974</guid><author>newfarhui</author><pubDate>Fri, 03 Aug 2018 10:33:25 +0800</pubDate><description><![CDATA[ 

 

服务器Ubuntu16.04

环境php7.0+Apache

/****************************开始安装Redis****************************/

1.安装Redis服务


apt-get install redis-server

2.启动服务


/etc/init.d/redis-server start

3.连接服务
...]]></description><category></category></item><item><title><![CDATA[Redis和Memcache对比及选择]]></title><link>https://blog.youkuaiyun.com/newfarhui/article/details/81298724</link><guid>https://blog.youkuaiyun.com/newfarhui/article/details/81298724</guid><author>newfarhui</author><pubDate>Tue, 31 Jul 2018 11:11:08 +0800</pubDate><description><![CDATA[ 

    我这段时间在用redis，感觉挺方便的，但比较疑惑在选择内存数据库的时候到底什么时候选择redis，什么时候选择memcache，然后就查到下面对应的资料，是来自redis作者的说法（stackoverflow上面）。

    You should not care too much about performances. Redis is faster per core with...]]></description><category></category></item></channel></rss>