PHP laravel+thrift+swoole打造微服务框架
Laravel作为最受欢迎的php web框架一直广受广大互联网公司的喜爱。
笔者也参与过一些由laravel开发的项目。虽然laravel的性能广受诟病但是业界也有一些比较好的解决方案,比如堆机器,比如使用swoole进行加速。
一个项目立项到开发上线,随着时间和需求的不断激增,会越来越复杂,变成一个大项目,如果前期项目架构没设计 ...
PHP 高级面试115题汇总(含答案)
1、给你四个坐标点,判断它们能不能组成一个矩形,如判断 ([0,0],[0,1],[1,1],[1,0]) 能组成一个矩形。勾股定理,矩形是对角线相等的四边形。只要任意三点不在一条直线上,任选一点,求这一点到另外三点的长度的平方,两个短的之和如果等于最长的,那么这就是矩形。
2、写一段代码判断单向链表中有没有形成环,如果形成环 ...
php伪协议
PHP支持的伪协议
file:// — 访问本地文件系统
http:// — 访问 HTTP(s) 网址
ftp:// — 访问 FTP(s) URLs
php:// — 访问各个输入/输出流(I/O streams)
zlib:// — 压缩流
data:// — 数据(RFC 2397)
glob:// — 查找匹配的文件路径模式
phar:// — PHP 归档
ssh2:// — Secure Shell 2
rar:// — RAR
ogg:// ...
PHP 汉字转拼音
/**
+------------------------------------------------------
* PHP 汉字转拼音
+------------------------------------------------------
* 使用方法:
* $py = new PinYin();
* echo $py->getpy("PHP汉字转拼音");
+------------------------------------------------------
*/
class Pinyi ...
PHP JWT token实现
原文链接:https://www.jb51.net/article/146790.htm
机制:
代码如下:
<?php
/**
* PHP实现jwt
*/
class Jwt {
//头部
private static $header=array(
'alg'=>'HS256', //生成signature的算法
&nbs ...
PHP通用分页类
Page.class.php <?php/** * 分页类 * * 调用方式: * $p=new Page(总条数,显示页数,当前页码,每页显示条数,[链接]); * print_r($p->getPages()); //生成一个页码数组(键为页码,值为链接) * echo $p->showPages(1); //生成一个页码样式(可添加自定义样式) * */ /*总条数,需要显示的页数,当前页,每页显示的 ...
PHP使用Redis
一、安装php类库
直接下载,github的仓库
https://github.com/nrk/predis
或者 composer安装
composer require predis/predis
二、测试是否可用
linux Redis服务
是否启动
ps aux | grep redis
启动
./bin/redis-server ./redis.conf
关闭
./bin/redis-cli shutdown
Redis的默认配置
'host' => '127.0.0.1',
'port' => 637 ...
PHP MVC框架【Myphp】的编写
1、什么是MVC
MVC(Model-View-Controller)是软件工程的一种软件架构模式。
在MVC模式设计下,软件系统被分来三个模块:模型(Model)、视图(VIew)、控制器(Controller)。
PHP下的MVC模式又称为Web MVC,自上世纪70年代进化而来。
使用MVC模式的目的是:实现一种动态的程序设计,便于后续对程序的修改和拓展,且使得程 ...
PHP写在线视频直播技术详解
废话一句,如果你要做高性能服务器服务,请去读底层的东西 http tcp/ip socket 了解基础协议,你对如何建造高性能服务器会有一个深度的了解
目前楼主专注php开发,最直接的方法就是使用lnmp去直接做,搜索以下资料,发现还是行得通的,先把基础架构列出来
前端页面 php
弹幕flash+js 数据来源是redis集群
及 ...
【PHP】实现AES、DES加密解密
1、mcrypt_encrypt DES加密,解密
1 class Lib_desEnctyp
2 {
3 private $key = "";
4 private $iv = "";
5
6 /**
7 * 构造,传递二个已经进行base64_encode的KEY与IV
8 *
9 * @param string $key
10 * @param string $iv
11 */
12 function __construct ($key, $iv)
13 ...
Windows下安装PHP开发环境
一、Apache
因为Apache官网只提供源代码,如果要使用必须得自己编译,这里我选择第三方安装包Apache Lounge。
进入Apachelounge官方下载地址:http://www.apachelounge.com/download/
首先下载并安装vc redist,这是Apache运行必需的一个组件。
下载Apache解压版,将解压后的文件夹放在你想要安装的路径下。
...
php操作redis常用方法
参考:https://www.cnblogs.com/aipiaoborensheng/p/5666005.html
1,connect
描述:实例连接到一个Redis.
参数:host: string,port: int
返回值:BOOL 成功返回:TRUE;失败返回:FALSE
示例:
<?php
$redis = new redis();
$result = $redis->connect('127.0.0.1', 6379);
var_dump($result); //结果:bool(true) ...
php解析url几种方式
php解析url几种方式
利用$_SERVER内置数组变量
访问:
http://localhost/test.php?m=admin&c=index&a=lists&catid=1&page=1
//URL的参数
echo $_SERVER['QUERY_STRING'];
返回:
m=admin&c=index&a=lists&catid=1&page=1
//包含文件名
echo $_SERVER["REQUEST_URI"];
返回:
/test.php?m=admin&c=index&a=lists&catid=1 ...
PHP header函数设置http头
//定义编码
header( 'Content-Type:text/html;charset=utf-8 ');
//Atom
header('Content-type: application/atom+xml');
//CSS
header('Content-type: text/css');
//Javascript
header('Content-type: text/javascript');
//JPEG Image
header('Content-type: image/jpeg');
//JSON
header('Content-type: app ...
PHP的stdClass
概述
以下是百度百科对php中的 stdClass的描述:
stdClass在PHP5才开始被流行。而stdClass也是zend的一个保留类。stdClass类是PHP的一个内部保留类,初始时没有成员变量也没成员方法,所有的魔术方法都被设置为NULL.凡是用new stdClass()的变量,都不可能会出现$a->test()这种方式的使用。PHP5的对象的独特性,对象在任何 ...
PHP 时间戳
PHP 时间戳
UNIX 时间戳(timestamp)是 PHP 中关于时间日期一个很重要的概念,它表示从 1970年1月1日 00:00:00 到当前时间的秒数之和。
PHP提供了内置函数 time() 来取得服务器当前时间的时间戳。
例子:
<?php
echo time();
?>
上面的例子运行后得到的是一串类似这样的数字:1279115455
我们可以通过 date() ...
php.ini配置详解
本文采集来源:https://blog.csdn.net/chengxuyuanyonghu/article/details/51320794
[PHP] ; PHP还是一个不断发展的工具,其功能还在不断地删减 ; 而php.ini的设置更改可以反映出相当的变化, ; 在使用新的PHP版本前,研究一下php.ini会有好处的
;;;;;;;;;;;;;;;;;;; ; 关于这个文件 ; ;;;;;;;;;; ...
单引号、双引号与定界符——PHP
单引号与双引号
单引号和双引号在echo输出时的区别
echo输出时,如果使用单引号,那么echo会把单引号之间的全部内容当成普通字符串输出,不能识别变量和转义字符(单引号串中的内容总被认为是普通字符)
1 $str1 = "Hello";
2 echo '$str1<br/>';
运行结果:
echo输出时,如果使用双引号,那么echo ...
php+ajax文件上传
前端页面代码
<!-- enctype 定义form要上传文件类型-->
<form action="" method="post" id="t" enctype="multipart/form-data">
<!--
multiple 作用是可以同时选中多个文件,多张图片
accept 指定input可以上传那种类型
...
从一道ctf看php反序列化漏洞的应用场景
目录0x00 first0x01 我打我自己之---序列化问题0x02 [0CTF 2016] piapiapia
0x00 first
前几天joomla爆出个反序列化漏洞,原因是因为对序列化后的字符进行过滤,导致用户可控字符溢出,从而控制序列化内容,配合对象注入导致RCE。刚好今天刷CTF题时遇到了一个类似的场景,感觉很有意思,故有本文。
0x01 我打我自己之---序 ...