php socket如何实现长连接
长连接是什么?
朋友们应该都见过很多在线聊天工具和网页在线聊天的工具。学校内有一种熟悉的功能,如果有人回复你了,网站会马上出现提示,此时你并没有刷新页面;Gmail也有此功能,如果邮箱里收到了新的邮件,网站会马上提醒你,即使你的网页一直未刷新过。说到这里大家肯定不陌生,就是复用一个链接持续不断的进 ...
PHP面向对象
1.面向对象介绍
面向对象是一个编程思想。编程思想有面向过程和面向对象
面向过程:编程思路集中的是过程上
面向对象:编程思路集中在参与的对象
2.面向对象的好处
1.多人 ...
php接口数据安全解决方案(一)
前言
目录介绍
登录鉴权图
接口请求安全性校验整体流程图
代码展示
演示用户登录
演示获取用户信息
文章完整代码地址
后记
前言
目的:
1.实现前后端代码分离,分布式部署
2.利用token替代session实现状态保持,token是有时效性的满足退出登录,token存入redis可以解决不同服务器之间session不同步的问题,满足分布式部 ...
php开发面试题---php 对swoole的理解
php开发面试题---php 对swoole的理解
一、总结
一句话总结:
以战养学,实例驱动
swoole是披着PHP外衣的C程序:其实就是c、java那些语言里面的高阶功能:比如 持久连接、异步通信、websocket、多线程
1、swoole出现的意义是什么?
解決php缺失的功能:swoole做为一种网络通信框架,解决php缺失的功能:比如多线程、 ...
【PHP】Composer使用简介,composer install 和 update 区别
1、composer是php的依赖包管理工具
2、符合PSR-0/1/2/3/4 规范
3、composer安装推荐使用国内镜像
4、composer require/install/update 区别:
然而,对于如何『安装他们』,新手可能并不清楚。网上的答案有的说 composer install,有的说composer update,而这两者似乎都能成功把依赖下载下来并安装好,那么他们究竟有何区 ...
php接受axios数据
var params = {
username: 'admin',
password: '123456'
}
axios.post('test.php', params).then(res => console.log(res.data))
php代码如下
//传的是一个json对象,可以用file_get_contents("php://input")获取到json串,然后转化为object获取属性
$data = file_get_contents("php://input");
如果用$_POST ...
php开发面试题---PHP为什么不安全,主要有那些安全问题(整理)
php开发面试题---PHP为什么不安全及常见的攻击方式(整理)
一、总结
一句话总结:
其实安全和语言关系不大,主要和程序员关系比较大,php也就是因为是弱类型语言,所以不如java健壮,php会遇到的问题(比如sql注入等),java也会遇到,java解决方案比较多而已
1、银行系统的开发,以及其他金融类型的开发为什么会使 ...
php中如何实现多进程
php中如何实现多进程
一、总结
一句话总结:
php多进程需要pcntl,posix扩展支持
可以通过 php - m 查看,没安装的话需要重新编译php,加上参数--enable-pcntl,posix一般默认会有
1、php多进程使用场景?
日常任务中,有时需要通过php脚本执行一些日志分析,队列处理等任务,当数据量比较大时,可以使用多进程来处 ...
php 如何实现 数据库 连接池
php 如何实现 数据库 连接池
一、总结
一句话总结:
php+sqlrelay+mysql实现连接池及读写负载均衡
master-slave模式增加并发。
sqlrelay 解决连接池问题以及实现读写分离的均衡负载。
为了有效的解决并发访问的瓶颈,利用多台数据库master-slave的模式来增加web的并发访问量
sqlrelay配置3个instance A/B/C,A负责从Ma ...
PHP实现的敏感词过滤方法
PHP实现的敏感词过滤方法,以下是一份过滤敏感词的编码。有需要可以参考参考。
/**
* @todo 敏感词过滤,返回结果
* @param array $list 定义敏感词一维数组
* @param string $string 要过滤的内容
* @return string $log 处理结果
*/
function sensitive($list, $string){
$count = 0; //违规词的个数
$sensitiveWo ...
PHP转Go系列:字符串
字符串的赋值
在PHP中,字符串的赋值虽然只有一行,其实包含了两步,一是声明变量,二是赋值给变量,同一个变量可以任意重新赋值。
$str = 'Hello World!';
$str = 'hia';
Go语言实现上述两步也可以用一行语句解决,就是通过标识var赋值时同时声明变量,切记等号右侧的字符串不能用单引号,对变量的后续赋值也不能再重新声 ...
PHP 调用qq邮箱接口
html代码
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="https://code.jquery.com/jquery-1.9.1.min.js"></script>
</head>
<body>
<script type="text/javascript">
function yx(){
$.ajax({
type:"post",
url:"./mailbox.php",
...
PHP博文目录
PHP7 新增特性
一、随笔
PHP 之分片上传
PHP 之防sql注入示例
PHP 之腾讯云对象存储生成临时地址
PHP 之phpsocket.io简易聊天室
PHP 之生成名片二维码与vcard格式
PHP 之QueryList网页采集框架
PHP 之php + krpano 实现简单全景demo
PHP 之计算当月之前12个月的日期
PHP 之简单在线更新
PHP 之将数组拼接为sql语句
PHP 之 ...
PHP超全局变量$_SERVER
$_SERVER 是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。这个数组中的项目由 Web 服务器创建。不能保证每个服务器都提供全部项目;服务器可能会忽略一些,或者提供一些没有在这里列举出来的项目。
$_SERVER['HTTP_HOST'] 请求头信息中的Host内容,获取当前 ...
vulhub-php/php_inclusion_getshell
注:本地测试php文件包含+phpinfo泄露导致getshell,此漏洞与php版本无关
使用vulhub环境进行复现:
项目地址:https://github.com/vulhub/vulhub/tree/master/php/inclusion
phpinfo路径:http://127.0.0.1:8080/phpinfo.php
文件包含路径:http://127.0.0.1:8080/lfi.php
docker-compose up -d 开启环境后直接使用exp进 ...
centos7 源码编译安装 php
准备工作
下载 PHP 源码包并解压
$ wget https://www.php.net/distributions/php-7.2.19.tar.bz2
$ yum -y install bzip2 # 如果有可以不用安装
$ tar -jxvf php-7.2.19.tar.bz2
进入 PHP 源码包目录
$ cd php-7.2.19
配置和构建 PHP
常用配置项及其说明 如果看着麻烦可以直接看下面的总结步骤
--prefix=/usr/l ...
Win2008 Server配置PHP环境
Win2008 Server配置PHP环境
阅读目录
创建一个网站
配置PHP环境
配置iis的“处理应用程序映射”
在配置PHP环境之前要先配置好IIS。
传送门-> Win2008 Server下配置安装IIS
如果IIS是以默认的配置安装,则还需要安装CGI。
在这里勾选CGI,然后安装。
创建一个网站
找到管理器
删除默认的 ...
docker一键搭建Nginx+PHP环境(含自动部署命令)
文章的主要部分是一步一步的教程,文章的最后是我整理好的一键安装命令,自动下载并安装docker,构建镜像,启动容器集群(压缩包内注释覆盖范围达到80%)
大家可以看完教程亲自尝试下,也可以直接执行一键安装命令,整个过程大概10分钟左右,我在四台不同的机器上执行过该命令,由于网络原因,5-15分钟不等。
如本文章 ...
PHP 类的封装和使用
类:相似的数据和数据操作的封装 class
成员量:普通的量加上一定的修饰就变成了成员量 public,protected,private
成员方法:普通的函数,加上一定的修饰,放入到类中就变成了成员方法.
实例化:类创建特例的过程(实例化一个对象 new)
对象: 类的特例或者实例 object
认识类 -> ...
PHP-FPM配置与调优
PHP-FPM是啥?
PHP-FPM是一个PHP FastCGI的管理器,它实际上就是PHP源代码的补丁,旨在将FastCGI进程管理引进到PHP软件包中。
CGI是啥?
CGI全称“公共网关接口”(Common Gateway Interface),是HTTP服务器与其它机器上的程序进行通信的接口,其程序须运行在网络服务器上。
CGI可以用任何一种语言编写,只要这种语言具有标 ...