php
荒-漠
余幼时家贫,但仍不知上进,贪玩误学,缺乏志向,偶寄情于山水之间,纵情于男欢女爱。蹉跎人生二十五有余,回忆年少,初读《送东阳马生序》,只觉晦涩难懂,不知其意。今观文,悲凉之感油然而生,逐尝人生之艰苦,才懂其意,多年八方某业,东奔西跑。再回首,已过而立之年,尚未娶妻生子,不禁潸然泪下,奈何花有重开日,人无再少年,再踏故土,顿感悔恨。初读是文章,再阅已是人生,不免心中几分自怜。
展开
-
phpstorm多出屏幕代码换行/自动换行
phpstorm多出屏幕代码换行/自动换行原创 2022-11-17 14:13:59 · 926 阅读 · 1 评论 -
腾讯云短信服务php发送短信
傻瓜式调取腾讯云短信sdk,发送短信服务原创 2022-06-06 17:51:34 · 1857 阅读 · 0 评论 -
Trying to access array offset on value of type int
问题描述:出现报错信息 先百度翻译''试图访问int类型值的数组偏移量''通过翻译得知 int型的数据被其他不能使用的类型使用了(个人理解)关于这块 php7.4升级之后会有这个bug 网上大多人是说7.4 版本的向后不兼容更改,非数组的数组样式访问,现在,尝试将 null,bool,int,float 或 resource 类型的值用作数组 ( 例如 $null[“key”] ) 会产生一个通知。解决问题:我这个报错在83行 我先打印查询$pValue查看是什么原创 2022-04-21 11:32:04 · 13093 阅读 · 4 评论 -
Array and string offset access syntax with curly braces is deprecated
在tp5框架中 excel导入的时候报错:问题描述:出现这种问题 是由于我php版本太高了 用的是tp5的框架 php7.4好用 在个别地方还是有不兼容.解决办法: 根据上面的报错信息 找到指定的文件 然后把{}改为[] 就行 要改挺多的 改完再跑 在根据报错在改...原创 2022-04-21 11:23:07 · 1912 阅读 · 0 评论 -
2022php面试题
php面试题20221.redis中持久存储aof和rdb区别和优缺点:区别:RDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程是fork一个子进程,先将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩存储。AOF持久化以日志的形式记录服务器所处理的每一个写、删除操作,查询操作不会记录,以文本的方式记录,可以打开文件看到详细的操作记录。优缺点:1). 一旦采用该方式,那么你的整个Redis数据库将只包含一个文件,这对于文件备份而言是非常...原创 2022-04-08 17:47:05 · 650 阅读 · 1 评论 -
During inheritance of Iterator: Uncaught think\exception\ErrorException: Return type of
tp5项目在本地运行没有问题,在linux上报错其实不是linux的问题 ,最后发现是本地和线上linux部署的环境不同才导致这种问题tp5在php版本8.1以上会出现好多不兼容的问题 ,最好的解决办法就是给php进行降级操作During inheritance of Iterator: Uncaught think\exception\ErrorException: Return type of PhpOffice\PhpSpreadsheet\Worksheet\Iterator::val.原创 2022-04-06 15:24:14 · 4675 阅读 · 1 评论 -
Tp5在Linux部署报错During inheritance of JsonSerializable: Uncaught think\exception\ErrorException
报错信息翻译后:在JsonSerializable的继承过程中:未捕获think\exception\ErrorException:返回类型属于think\Model::jsonSerialize()两者都应该与JsonSerializable::jsonSerialize():混合的,或应使用【返回类型将改变】属性应用于临时抑制中的通知尝试了修改use think\Exception 改为use Exception 和替换整体think文件 更新apache 在nginx测试都莫有效果...原创 2022-03-15 21:30:13 · 8423 阅读 · 0 评论 -
apache您无权访问所请求的目录。 这是由于没有主页或该目录不允许被读取导致的。Error 403
打开apache配置文件http.conf找到下面代码<Directory /> AllowOverride none Require all denied</Directory>然后修改成为<Directory />Options Indexes FollowSymLinksAllowOverride NoneOrder allow,denyAllow from all</Directory>..原创 2022-03-15 15:38:11 · 2308 阅读 · 3 评论 -
apache端口转发 端口映射
apache端口转发原创 2022-03-09 18:32:46 · 1817 阅读 · 2 评论 -
php对二维数组进行排序 php数据排序 php排序
php对一维数组排序自带函数就有很多PHP - 数组的排序函数sort() - 以升序对数组排序rsort() - 以降序对数组排序asort() - 根据值,以升序对关联数组进行排序ksort() - 根据键,以升序对关联数组进行排序arsort() - 根据值,以降序对关联数组进行排序krsort() - 根据键,以降序对关联数组进行排序但是,对于二维数组没有目前函数可以直接解决可以利用下面二个函数对二维数组以某个字段排序1.array_column() 返回输入数组中某原创 2021-11-29 16:19:12 · 5443 阅读 · 0 评论 -
linux安装xampp(可内网安装)
linux服务器搭建php项目,包括环境配置和必备软件 持续更新原创 2021-11-18 17:59:58 · 3871 阅读 · 2 评论 -
phpexcel 导出下载设置单元格的固定值
下载安装composer其次 cmd切换到项目根目录 运行命令:composer require phpoffice/phpexcel代码实现 注意$n值开始行public function downloadTemplate() { $spreadsheet = new Spreadsheet(); $worksheet = $spreadsheet->getActiveSheet(); //设置工作表标题.原创 2021-10-14 11:39:20 · 312 阅读 · 3 评论 -
phpstudy站点404访问遭到拒绝 首页可以访问 接口不能访问
问题描述:新站站点可以使用 关机再开不能使用 新建站点 不能访问接口 可以访问首页 接口404直接入正题入口文件夹里有一个文件.htaccess 这个文件打开如果没有内容 问题就出现在这<IfModule mod_rewrite.c> Options +FollowSymlinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f .原创 2021-09-01 11:08:23 · 5678 阅读 · 14 评论 -
tp框架获取前端传过来的json数据
坑:不要用apipost或者postman去测试数据,模仿的数据收到的有转义或者接收不到(put接收不到)用浏览器去测试的时候用param去接收为空tp框架提供了一个put方法专门用来接收json数据第一种:获取的数据是字符串$put = file_get_contents('php://input');第二种返回的是数组格式$put = request()->put();//会自动将JSON报头的数据转为数组冲冲冲!!!...原创 2021-08-15 17:26:25 · 2647 阅读 · 0 评论 -
windows单机情况下redis使用哨兵模式
windos单机情况下redis使用哨兵模式 前提是配置好redis主从复制1.创建哨兵配置文件 sentinel.conf 在redis根目录或自己配置文件中# 当前Sentinel服务运行的端口port 26379#而将这个主实例判断为失效至少需要2个Sentinel进程的同意,只要同意Sentinel的数量不达标,自动failover就不会执行# 如果提供外网访问,实例的IP地址为服务器地址10.0.128.144。# sentinel monitor 被监控的名称 host原创 2021-07-14 10:32:51 · 203 阅读 · 2 评论 -
thinkphp或tp 可以访问首页入口文件index方法,无法访问别的方法或控制器 not found
出现这种问题会有2种可能.1.路由配置问题检查配置文件 查看是否打开强制路由再去路由文件中route文件去配置路由规则2.tp框架解析路径出现问题检查public下是个有这个.htaccess文件 如果没有自己新建 我贴一下代码<IfModule mod_rewrite.c> Options +FollowSymlinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteC原创 2021-07-07 10:02:55 · 1953 阅读 · 0 评论 -
phpstudy网站或站点创建成功,打开无响应
本来环境一直都是好好地,上周用了360网络急救箱,就是这个东西把host下的网站全部用#注释了常见问题 以及解决的办法1.网站基础设置 检查是否无误端口号默认80端口 如果修改果端口号记得加端口访问***.com:8081记得点上同步hosts2.基础配置没有问题 配置好打开还是无响应 查看设置 配置文件hosts 发现打开空白没有写入权限 找到hosts位置C:\Windows\System32\drivers\etc 修改对应权限(家庭版不能修改用户组权限 解决办法重装...原创 2021-07-06 10:25:46 · 10738 阅读 · 2 评论 -
tp做登录验证密码错误3次禁止登录5分钟
第一种方式:设计思路:账号在密码输入错误3次进行5分钟时间锁定,在登录成功清楚掉错误登录信息和错误登录时间;在锁定登录之后,在进行时间验证并清楚上次的错误登录信息和时间 保证不影响下次判断.1.数据库设计 添加这个2个字段 登录错误次数 第三次错误登录时间2.控制器层注意一下 返回静止登录的时间 加上5分钟<?phpnamespace app\index\controller;use app\index\controller\Base;use think\..原创 2021-06-30 15:15:14 · 1145 阅读 · 0 评论 -
tp框架获取前端传过来的json数据或者数组数据,接收不到返回为null
在使用tp框架获取参数我们一般使用$request=new Request();$all = $request->param();不管是get post 或者 param request 都获取不到 那是因为没有加修饰符可以使用tp自带的助手函数 input()来解决这个问题input函数支持对变量使用修饰符功能,可以更好的过滤变量。用法如下:input('变量类型.变量名/修饰符');或者Request::instance()->变量类型('变量名/.原创 2021-06-29 20:18:04 · 1785 阅读 · 0 评论 -
thinkphp tp 框架如何查看版本
tp5.1及以上:命令:# php think versiontp5.0及以下var_dump(THINK_VERSION);或thinkphp/base.php原创 2021-06-28 14:45:38 · 1185 阅读 · 2 评论 -
tp5和tp6的区别
1 目录结构的异同 tp5核心框架是项目根目录thinkphp下 , tp6是vendor的topthink2 安装方式不同,tp6仅能通过composer方式安装3 类自动加载方式不同 tp6使用composer方式实现类自动加载, tp5 composer+自己实现了一套4 tp6使用了php7严格模式5 支持更多的PSR规范 https://learnku.com/docs/psr6 组件的独立 ORM 模板引擎7 中间件改进 TP6开始使用了管道模式来实现中间件,比起之...原创 2021-06-25 16:21:38 · 2810 阅读 · 2 评论 -
php 写入文件
1、fwrite() 函数fwrite() 函数可以将一个字符串写入到文件中,函数的语法格式如下:fwrite(resource $handle, string $string[, int $length])参数说明如下:$handle:待写入的文件,是由 fopen() 创建的 resource(资源); $string:要写入的字符串; $length:可选参数,用来设定要写入的字节数。fwrite() 函数可以把 $string 的内容写入文件指针 $handle 处。 如果指原创 2021-06-24 17:00:55 · 3715 阅读 · 0 评论 -
tp5利用mysql数据库去重
DISTINCT 方法用于返回唯一不同的值 。例如数据库表中有以下数据以下代码会返回user_login字段不同的数据Db::table('think_user')->distinct(true)->field('user_login')->select();生成的SQL语句是:SELECT DISTINCT user_login FROM think_user返回以下数组array(2) { [0] => array(1) { ["u.原创 2021-06-23 21:27:04 · 759 阅读 · 0 评论 -
php常见函数和使用方法
找个地方记录一下,免得去百度搜 麻烦php数组和字符串的相互转换implode() 函数可以将一个一维数组转化为字符串,其语法格式如下:implode($glue, $array) 或者 implode($array)原创 2021-06-23 16:56:45 · 90 阅读 · 0 评论 -
thinkphp5使用phpoffice/phpspreadsheet导出excel
先去下载最新的phpoffice包https://packagist.org/packages/phpoffice/phpspreadsheet使用composer require phpoffice/phpspreadsheet命令去下载 要进入项目根目录 cmd 进入小黑框(前提安装composer)安装好以后原创 2021-06-22 15:59:42 · 894 阅读 · 0 评论 -
php跨域请求
主要会用到以下几个响应头Access-Control-Allow-Origin:允许哪些url可以跨域请求到本域 Access-Control-Allow-Methods:允许的请求方法,一般是GET,POST,PUT,DELETE,OPTIONS Access-Control-Max-Age:表明在该时间段内不再“预检”允许的请求方法(相当于缓存),即不以OPTIONS方法进行请求 Access-Control-Allow-Headers:允许哪些请求头可以跨域<?phpheader原创 2021-06-18 16:38:49 · 425 阅读 · 1 评论