浏览模式: 普通 | 列表
本文主要针对如何通过配置php7.1的php-fpm多实例,及nginx对多实例负载均衡之配置,不涉及安装。

1、负载均衡服务器(server)查看nginx配置文件 。
attachments/201912/24_123933_1.png


可以看到此处user使用的是nginx

2、应用服务器(web)查看 php-fpm配置文件
attachments/201912/24_123948_2.png

发现这里php-fpm中的user是apache

修改user=nginx 由于应用服务器没有nginx用户所以启动失败。

3、web服务器添加用户nginx;

#useradd nginx;

4、web服务器php-fpm配置文件 www.conf修改详情如下 :

      一、修改user=apache 为nginx
...

阅读全文…

PHP 中的CURL 模拟表单的post提交

[ 2019-12-14 09:34:02 | 作者: admin ]
<?php
$url = "http://www.baidu.com";
$data = ['username'=>'老王','pwd'=>'123456'];
$headers = array('Content-Type: application/x-www-form-urlencoded');
$curl = curl_init(); // 启动一个CURL会话
curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); // 从证书中检查SSL加密算法是否存在
curl_setopt($curl, CURLOPT_USERAGENT,
...

阅读全文…
先列出 HessianPHP 的错误提示:
   CURL transport error: transfer closed with outstanding read data remaining


基础知识背景:

1)“Expect: 100-continue”的来龙去脉:
        HTTP/1.1 协议里设计 100 (Continue) HTTP 状态码的的目的是,在客户端发送 Request Message 之前,HTTP/1.1 协议允许客户端先判定服务器是否愿意接受客户端发来的消息主体(基于 Request Headers)。
        即, Client 和 Server 在 Post (较大)数据之前,允许双方“握手”,如果匹配上了,Client 才开始发送(较大)数据。
        这么做的原因是,如果客户端直接发送请求数据,但是服务器又将该请求拒绝的话,这种行为将带来很大的资源开销。
...

阅读全文…
PHP对中文字符串的处理一直困扰于刚刚接触PHP开发的新手程序员。下面简要的剖析一下PHP对中文字符串长度的处理:

PHP自带的函数如strlen()、mb_strlen()都是通过计算字符串所占字节数来统计字符串长度的,一个英文字符占1字节。例:

$enStr = 'Hello,China!';
echo strlen($enStr); // 输出:12

而中文则不然,做中文网站一般会选择两种编码:gbk/gb2312或是utf-8。utf-8能兼容更多的字符,所以受到很多站长的喜爱。gbk与utf-8对中文的编码不同,导致中文在gbk与utf-8编码下所占字节也有差异。

gbk编码下每个中文字符所占字节为2,例:

$zhStr = '您好,中国!';
echo strlen($zhStr); // 输出:12

utf-8编码下每个中文字符所占字节为3,例:
...

阅读全文…
PHP EnPHP Decoder: http://enphp.ganlvtech.cn

PHP解密在线 http://www.phpjm.cc/decode

PHP解密:魔方二代-免费解密代码详解 https://www.jianshu.com/p/d01db12372cf
 
PHP自动化在线解密工具 https://www.jianshu.com/p/9216413a2c94

PHP解密:魔方2代免费在线批量解密 http://shop.720life.cn/tool/php_mofang_2.html

可以在线解密,自动判断加密类型 http://www.yunlu99.com/

魔方一代的解密 https://www.52pojie.cn/thread-697218-1-1.htm

php关于数字防注入,intval溢出,intval

[ 2019-08-22 12:48:53 | 作者: admin ]
数字防注入方法

1.强制转换类型,intval(num),(int)num(mum小于等于2147483647),

2.num=num+0 这样php也会自动给你转换


$n="n";
$a=2147483648.05555;
echo intval($a).$n; //result -2147483648
echo (int) $a,$n;//result -2147483648
echo floatval($a).$n;//result 2147483648.0556

echo floor(floatval($a)).$n;//result 2147483648


在32为系统中 第一位为符号位 后面31为指数为 -2的31 ~ 2的31次方-1
          64 第一位为符号位 后面的63为指数位 -2的63~2的63次方-1
...

阅读全文…
php里面相关函数比较多,但是比较简洁还是 substr_count() >0 来判断比较方便


substr_count()函数本是一个小字符串在一个大字符串中出现的次数:
$number = substr_count(big_string, small_string);
正好今天需要一个查找字符串的函数,要实现判断字符串big_string是否包含字符串small_string,返回true或fasle;
function check_str($str, $substr)
{
   $nums=substr_count($str,$substr);
   if ($nums>=1)
   {
     return true;
   }
   else
   {
     return false;
   }
}
先检查是否开启了fileinfo
php -i|grep fileinfo

没有安装的话,进入php源码中的fileinfo目录来生成fileinfo.so,不同的版本,路径会有所不同,请根据实际情况,找到对应的目录。
cd /home/ming/lnmp1.3-full/src/php-7.0.7/ext/fileinfo/
执行phpize命令 >
[danger]注意,该命令一定要在上面说到的fileinfo目录下执行
/usr/local/php/bin/phpize
如果执行成功,会有类似下面的信息
Configuring>for:
PHP Api Version:20151012
Zend Module Api No:20151012
...

阅读全文…