PHP
可乐加辣椒ヾ(黄新东阳)
学到就要教人,得到就要助人。
---如有错误或者咨询 请联系QQ:405420415 欢迎共同探讨、提高。
展开
-
记php踩坑之:整数型和字符型比较为true
var_dump((int) 'success'); // 输出结果:int 0$number = 0;var_dump($number == 'ss12313'); // 输出结果:truevar_dump('ss12313' == $number); // 输出结果:false这里稍微解释下,出现这个问题的原因:当运算符左侧为int当话,php自动会将右侧转成int型进行比较,所以回出现第三行代码输出为true当将string类型当字符串换到运算符的左侧的时候,那么很明显'ss12313原创 2020-09-30 21:15:32 · 218 阅读 · 0 评论 -
PHPStrom【 配置SVN教程/使用SVN教程】
先在如图位置,将SVN这个扩展插件打上勾 2.原创 2018-07-12 17:13:48 · 396 阅读 · 0 评论 -
LNMP - Warning: require(): open_basedir restriction in effect错误解决方法
如图,是我出现的错误提示。TIP:出现此类问题一般为open_basedir的问题(open_basedir的值来设置限制访问的目录或删除来移除防跨目录的设置。)方法 一【本人是用这个方法解决这个问题的,只针对当前站点】①删除user.ini方法 二【此方法限制于所有的LNMP站点解决】①vim /usr/local/nginx/conf/fastcgi.conf②删除或注释掉这一行(*注释的话前...原创 2018-07-09 11:43:24 · 5637 阅读 · 0 评论 -
yii2-使用gii生成代码
yii2 - gii 代码生成哈哈哈,太久没弄这个,今天弄的时候忽然懵掉了,照着官方的文档进行配置一直不行,写个博客记录下注意的点。我先贴下官方的教程:地址:gii配置官方教程 // 主要是这串配置代码 $config['bootstrap'][] = 'gii'; $config['modules']['gii'] = [ 'class' => 'y...原创 2020-04-08 15:48:23 · 248 阅读 · 0 评论 -
yii2-搭建Swagger:增加接口名/作者搜索,接口跨域处理方案(二)
一. 运用背景 生成的在线接少与前端人员/app开发人员的口文档确实减沟通成本,但是由于项目比较庞大,一个项目的接口由N多人同时开发,并且有成千上万个接口,这时候就出现了一个问题:当后端开发人员想去查看自己的开发的接口,或者是某个接口,就变得很头疼,只能手动去寻找。 萌生了把Swagger顶部的搜索改成更契合需求的 ① 接口名称查询 ② 开发作者查询...原创 2019-03-07 14:54:02 · 2171 阅读 · 1 评论 -
基于dockerfile搭建hyperf项目
概述:其实知识点不是很难,比较基础,docker真心好用,在开发环境中。写这篇博客的原因是,为了能够帮助到刚入门到兄弟,不知道如何操作。1.去hyperf官网下载dockerfile,下面我会提供链接,和我写博客当下最新的dockerfileGitHub链接:点击前往:dockerfiel下载地址dockerfile内容 : # 我没有做任何的修改 # Default Dockerfile # # @link https://www.hyperf.io # @docu原创 2020-09-04 10:27:48 · 1675 阅读 · 0 评论 -
PHP之JIT和Opcode随谈
概述:今天在看鸟哥的博客:PHP 8新特性之JIT简介(大家有兴趣可以直接点击链接查看)看到了一个之前一直有听过的opcode但是没有深入了解的扩展,花了2个小时,查阅了些资料,和圈内人稍微探讨了下,对其认识做个记录。1.什么是opcode?opcode:解释器分析代码之后,生成可以直接运行的中间代码,就称做操作码opcode这个是我在网上找的比较笼统的解释,为了能够更加深入了解它,我们认识下php的生命周期:如图所示:.php - Zend引擎从文件当中读取文件Lexicon scan原创 2020-09-11 19:27:55 · 323 阅读 · 0 评论 -
phpstrom注解插件
概述:PHP 并不是原生支持 注解,所以 IDE 不会默认增加注解支持。但我们可以添加第三方插件,来让 IDE 支持 注解。PhpStorm我们到 Plugins 中搜索 PHP Annotations,就可以找到对应的组件 PHP Annotations。然后安装组件,重启 PhpStorm,就可以愉快的使用注解功能了,主要提供了为注解类增加自动跳转和代码提醒支持,使用注解时自动引用注解对应的命名空间等非常便捷有用的功能。我这边是已经安装了:...原创 2020-09-06 10:45:08 · 1578 阅读 · 0 评论 -
解决phpstorm上php7版本语法错误
教程:1.不要勾选Synchronize2.版本选中7以上的版本原创 2020-09-06 10:42:38 · 840 阅读 · 0 评论 -
composer 修改国内镜像
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/原创 2020-09-04 11:07:52 · 122 阅读 · 0 评论 -
Swoole进程模型概述
Swoole进程模型描述:它的大体流程和php-fpm进程模型没有太大区别,区别是它会多个Manager进程来管理work进程和task进程,子进程不会随着请求的结束,不会退出,也不会清理,会继续的请求下个请求。...原创 2020-06-01 14:02:05 · 259 阅读 · 0 评论 -
Php-fpm进程模型
client客户端nginxmaster主进程work子进程Awork子进程Bwork子进程C work的进程数量决定着并发的数量 1个work只能处理一个请求 work的子进程是预先创建好的 nginx和php-fpm是通过sapi这个交互协议通信的 官方图解:...原创 2020-06-01 14:00:27 · 320 阅读 · 0 评论 -
PHP---AES加密实现
<?phpnamespace Aes;class Aes{ /** * var string $method 加解密方法,可通过openssl_get_cipher_methods()获得 */ protected $method; /** * var string $secret_key 加解密的密钥 */ ...转载 2020-01-20 14:26:14 · 140 阅读 · 0 评论 -
php - 断点下载代码实现
<?php/** * @param string $file * @param int $rate * @param bool $forceDownload * @return bool */function downFile($file, $rate = 100, $forceDownload = true) { if(!file_exists($file)) ...原创 2020-01-20 10:16:14 · 200 阅读 · 0 评论 -
PHPExcel导出文件,打开出现错误提示“由于有一些内容不可读取”
1.错误描述:错误信息“由于有一些内容不可读取”,如图所示2.这时候点击,打开并修复也无作用,正确的解决方式如下:原创 2020-01-13 14:26:34 · 1409 阅读 · 1 评论 -
Docker 最简单安装PHP扩展xdebug
# 下载安装xdebug扩展pecl install xdebug# 添加到配置文件docker-php-ext-enable xdebug原创 2019-11-26 14:58:01 · 1053 阅读 · 0 评论 -
mac 安装pecl
一. 首先下载pear curl -O https://pear.php.net/go-pear.phar 这里说明下,往上很多教程都是没有带ssl的,即curl -O https://pear.php.net/go-pear.phar,这样会出现一个问题,再去执行下载的文件的时候会报错:301 Moved Permanently,如图所示二. 安装pear ...原创 2019-11-26 10:38:51 · 814 阅读 · 1 评论 -
centos7+PHP7 编译安装swoole教程
一. 首先到gitHub上找到最新的版本下载地址 提示:因为我写着篇博客的时间再19年5月,后续swoole会继续版本的迭代,一些新功能的引入,所以大家直接到这个地址去找到最新的版本地址:https://github.com/swoole/swoole-src/releases 然后执行如下命令(我这边下载的是4.3.3版本)wget -c https://git...原创 2019-05-09 11:16:07 · 1058 阅读 · 0 评论 -
Centos 简单安装PHP7
1.安装epelrpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm2.安装PHP7 rpm源rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm3.执行安装php7yum ins...原创 2019-05-08 14:26:27 · 135 阅读 · 1 评论 -
composer update 和 composer install 区别
执行 composer update 会根据 composer.json 相关依赖更新安装,执行 composer install 会根据composer.lock 相关依赖安装原创 2019-03-18 10:27:52 · 9509 阅读 · 2 评论 -
yii2-搭建RESTful Api:实战教程【基础篇-附带采坑经验】(一)
一. 先安装yii2.0高级的应用程序模板 操作:这里不做详细介绍,官方文档上一个命令解决二. 复制文件/目录,修改对应配置文件/命名空间 ① 将backend整个目录复制一份出来,重新命名为api放在项目根目录 ② 打开api/config/main.php修改配置文件中(id,controllerNamespace配置)...原创 2019-03-04 17:13:15 · 708 阅读 · 0 评论 -
PHP 获取本月第一天/本月最后一天/上月第一天/上月最后天
本月第一天:$monthFirstDay = date('Y-m-01',time());本月最后天:$monthLasttDay = date('Y-m-t',time());上月第一天: $lastMonthFirstDay = date('Y-m-01', strtotime('-1 month'));上月最后天: $lastMonthFinalDay = date('Y...原创 2018-09-10 15:17:12 · 2055 阅读 · 0 评论 -
Windows+PHP安装redis扩展
在网上找了许多教程, 在Windows下都无法安装 PHP redis 扩展,自己搞了两个小时才终于找到下载的地址,现归纳总结如下。1.查看自己的PHP版本echo phpinfo();PHP 版本信息【这步很关键,一开始觉得自己电脑x64,然后直接下载64位的了】:PHP logoPHP Version 5.6.15Compiler MSVC11 (Visual...原创 2018-09-07 15:44:15 · 126 阅读 · 0 评论 -
【转】PHP处理字符串常用函数
1查找字符位置函数:strpos($str,search,[int]):查找search在$str中的第一次位置从int开始;stripos($str,search,[int]):函数返回字符串在另一个字符串中第一次出现的位置。该函数对大小写不敏感strrpos($str,search,[int]):查找search在$str中的最后一次出现的位置从int开始strripos($s...转载 2018-09-20 11:07:38 · 102 阅读 · 0 评论 -
php.ini配置:Session配置详解
1.session.save_path = "/tmp" 【 代表session存放的路径】2.session.save_handler = "files"【files:代表用文件存储session,user:用数据库存储】3.session.use_cookies = 1 【是否使用cookies在客户端保存会话sessionid,默认为采用cookies】4.session.us...原创 2018-10-11 11:47:23 · 810 阅读 · 0 评论 -
(一)php面试题
1、不用新变量直接交换现有两个变量的值(1)list($a,$b)=array($b,$a);(2)a=a+b,b=a-b,a=a-b2、PHP数字金额转大小格式,同时说明思路 function daxie($num){ $da_num = array('零','一','二','三','四','五','六','七','八','九'); $retur...转载 2018-09-30 15:54:43 · 179 阅读 · 0 评论 -
(二)php面试题
转载 2018-09-30 16:01:12 · 115 阅读 · 0 评论 -
(三)php面试题【只有问题,后续博主将亲自把答案附上】
1. 基本知识点HTTP协议中几个状态码的含义:503,500,401,200,301,302。。。 include,require,include_once,require_once 的区别。 PHP/Mysql中几个版本的进化史,比如mysql4.0到4.1,PHP 4.x到5.1的重大改进等等。 HEREDOC介绍。 写出一些php魔术方法。 一些编译php时的configur...转载 2018-09-30 16:08:18 · 349 阅读 · 0 评论 -
(一)Linux安装PHP的Redis扩展【客户端】
一、下载PHP Redis【下载的地方选择】wget http://pecl.php.net/get/redis-3.1.0.tgz二、解压并进入Redis目录tar -zxf redis-3.1.0.tgzcd redis-3.1.0/三、在Redis目录下,configure && make && make install 【下面...原创 2018-10-10 15:43:47 · 1555 阅读 · 0 评论 -
yii2-搭建实现RBAC权限控制:安装组件和创建数据库表(一)
概述:该教程的前提对Yii本身框架具有一定的熟悉程度(如:compser,migrate……)(一)安装Yii2-Admin扩展组件composerrequiremdmsoft/yii2-admin"~2.0"(二)创建对应数据库表 ① 在创建Rbac对应数据表的时候需要提前在配置文件中配置好信息(放在console的配置文件里),如下:'components...原创 2019-02-28 16:04:09 · 524 阅读 · 0 评论 -
yii2-搭建实现RBAC权限控制:URL美化(配置简短路由)(二)
(一)在配置Web的配置文件中加入“components” => [ "urlManager" => [ //用于表明urlManager是否启用URL美化功能,在Yii1.1中称为path格式URL, // Yii2.0中改称美化。 // 默认不启用。但实际使用中,特别是产品环境,一般都会启用。 ...原创 2019-02-28 17:01:17 · 429 阅读 · 0 评论 -
Hprose for php -- 快速安装(一)
HProse的安装 ①普通类的文件引入 a.去git上下载源文件:https://github.com/hprose/hprose-php b.将文件放入到项目源码中(已YII2.0为例,将文件放入到/common/components)如图所示 ...原创 2019-02-25 15:01:20 · 1093 阅读 · 0 评论 -
Hprose for php -- 快速入门(二)
1. 客户端(client)代码(记得该引入的文件记得引入,我这边是用Yii框架且composer安装Hprose,会自动加载所以没有写引入的代码) public function actionHprose() { $client = \Hprose\Http\Client::create('http://127.0.0.1:905/hprose.ph...原创 2019-02-25 15:36:59 · 1369 阅读 · 0 评论 -
yii2-搭建实现RBAC权限控制:详细配置过程(三)
权限控制的详细配置//设置别名,这个是我们安装的权限扩展组件"aliases" => [ "@mdm/admin" => "@vendor/mdmsoft/yii2-admin",],//添加一个admin的模块'modules' => [ 'admin' => [ 'class' => 'mdm...原创 2019-03-01 14:18:42 · 408 阅读 · 0 评论 -
yii2-搭建实现RBAC权限控制:yii2-adminlte-asset / 菜单栏(拓展篇)
(一)安装扩展组件:yii2-adminlte-asset 描述:我们搭好的项目是没办法直接支持左侧菜单栏的样式的。需要我们去找样式或者直接用组件来安装,这里我们选择了yii2-adminlte-asset 安装流程: ① 到项目根目录,命令行执行:composer require dmstr/yii2-adminlte-a...原创 2019-03-01 16:13:55 · 1080 阅读 · 0 评论 -
yii2-搭建RESTful Api:授权认证(二)
在配置中如有问题:加Q405420415,有问必答。一. yii2.0几种授权的介绍RESTful APIs 通常是无状态的, 也就意味着不应使用 sessions 或 cookies, 因此每个请求应附带某种授权凭证,因为用户授权状态可能没通过 sessions 或 cookies 维护, 常用的做法是每个请求都发送一个秘密的 access token 来认证用户, 由于 access...原创 2019-03-05 10:15:50 · 873 阅读 · 1 评论 -
yii2-搭建Swagger:快速搭建(一)
一. 安装扩展组件zircote/swagger-php 项目根目录底下运行:composer require zircote/swagger-php二. 从GitHub上下载swagger-ui最新版本 ① GitHub地址:https://github.com/swagger-api/swagger-ui ②将下载的文件重名为swagger-ui...原创 2019-03-05 15:41:10 · 2142 阅读 · 2 评论 -
MD5数字签名算法:生成签名和验签(附代码)
一.背景 为了增加接口的安全性(防止中间人攻击),现增加签名算法。此算法参考微信支付中的签名算法,由于该签名针对前后端,采用了对称算法,如后续接口供给多家第三方接口使用可采用非对称算法。大致整理文档供后续开发人员使用阅读。二. 签名生成步骤①设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key...原创 2019-03-08 16:46:54 · 17996 阅读 · 0 评论 -
PHP时区/MySql时区/Linux时区
问题背景:手头上有个国外的项目,为了所谓的国际化,得将时区修改至【美国纽约】时区。一开始想这个问题的时候觉得十分easy,理所当然是不是只要我将服务器的时间改成【美国纽约】时区就行了。然而实际上对一个项目而言,影响时间的是开发环境以及选择的数据库管理系统。 所以我们需要改的是 php的时区/MySql的时区。一.修改php时区需要到配置文件php.ini无则添加/有则修改:date.t...原创 2018-09-12 21:55:38 · 1065 阅读 · 0 评论