
PHP后端
PHP后端
ECHO陈文
生活不止眼前的苟且,还有诗和远方的田野
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
宝塔面板添加thinkphp6.x命令执行脚本
项目的运行过程中,有时候需要写一个定时任务,执行一些操作,比如定时更新缓存,备份数据等等等等。今天主要介绍一下thinkphp6.x命令编写shell脚本在宝塔面板创建一个定时任务,写入一段简单的定时shell脚本(注意修改成自己tp6网站根目录)Path=/www/wwwroot/xxx.comcd $Pathphp think clear编写自定义指令第一步,创建一个自定义命令类文件,运行指令php think make:command Hello hello会生成一个app\co原创 2021-10-23 14:41:03 · 1656 阅读 · 0 评论 -
PHP实现微信支付签名算法(MD5版本及HMAC-SHA256版本)
在开发微信支付的时候有时候会用到签名的同步是否和微信方一致,来验证有效性,微信目前签名方式大致有两种,如下:MD5版本实现思路使用ksort()函数对参数数组按照数组键名进行升序排序使用array_filter()函数过滤掉不符合签名条件的数组值使用http_build_query()函数将数组键名与键值组合成URL字符串对字符串进行MD5编码最后使用strtoupper()函数将字符串转换为大写即可 /** * Create the wechat pay sign with MD转载 2020-12-21 12:27:09 · 2328 阅读 · 1 评论 -
thinkphp5如何在视图中引用公共模板和跨模块引用
我们有时候在开发项目的时候头部和尾部都是一样的,所以完全可以写一个模板,然后在每一个页面调用,如下在视图(view)目录下创建public公共文件夹,然后创建头部文件header.html或尾部footer.html等像这样的静态模板文件。然后将主页面的头部代码和尾部代码分别分离到相应的文件里。{include file="public/header" /}代表引用的是同view下的public文件夹下的公共头部和尾部如果是要跨模块引用模板的话,不同模块共用一个header.htm文件,现在he原创 2020-12-03 22:16:19 · 1753 阅读 · 0 评论 -
wordpress 如何手动更新?
最近访问wordpress官网总是出现“429 Too Many Requests”,这是因为wordpress官网由于遭到来自中国流量的cc攻击,导致wordpress官网的CDN服务商面向大陆的反代服务器 Nginx 针对该域名自动停摆。所以导致最近在后台更新不了wordpress。那么怎么手动更新wordpress?出现这种情况只能通过手动更新。就必须下载最新wordpress最新安装包。1、下载安装包通过下载工具下载安装包,wordpress最新安装包的下载地址是“https://wordpr原创 2020-06-12 16:39:22 · 1915 阅读 · 0 评论 -
THINKPHP5 中 save操作 不能foreach循环操作的解决办法
最近使用thinkphp5 过程中,发现save 操作没有办法批量操作,无法达到想要的效果,最后研究了一番之后,发现使用save的时候要加上isUpdate(false)->data($data,true) 这样去操作,才可以批量操作数据$data = ['name'=>'张三','address'=>'中国'];foreach ($lists as $key => $...原创 2020-05-07 17:37:37 · 1339 阅读 · 0 评论 -
thinkphp用户登录cookie有效期设置
1、如果未设置cookie有效期,则cookie将在浏览器关闭之后被清空,此时的cookie叫做会话cookie;2、如果设置了cookie保存时间,则可以通过浏览器中的开发者选项查看到cookie的过期时间,会话类型消失;注意:临时cookie不保存在硬盘驱动器而是存在临时存储器中,当浏览器关闭时,将被删除。(临时cookie指的是cookie保存设置时间为0,也叫会话cookie)代...原创 2020-04-15 10:53:13 · 3439 阅读 · 0 评论 -
PHP 登录成功后如何跳转至上一页
有些网站某个页面或者某个功能访问的时候需要用户授权才能进行访问,这个时候就会跳转到登录页面,更好的用户体验就是登陆成功后,再调回之前的页面。大体有两种思路思路一:在跳转到登录页面之前要将当前访问页面的url保存到cookie或者session里面,登录验证授权通过后,从cookie或者session中取出这个url值,跳转到该url指定的页面。$refer = 'http://' . $_...原创 2020-04-05 20:07:56 · 1049 阅读 · 0 评论 -
PHP stdClass Object转array
在解析JSON数据的时候, 往往单纯通过json_decode方法解析获得得数值一般并非数组, 而是带有stdClass Objec的对象字符串,这时如果我们想获取相应的PHP数组时,需通过以下几种方法来获取。一、定义一个函数转换//PHP stdClass Object转array function object_array($array) { if(is_object($a...原创 2020-04-05 16:47:14 · 359 阅读 · 0 评论 -
THINKPHP5获取当前页面URL信息
想要获取当前页面的url信息,可以借助thinkphp 自带的request 类来获取当前的url信息使用\think\Request类$request = Request::instance();或者使用自带的助手函数$request = request();$request = Request::instance();// 获取当前域名echo 'domain: ' . $r...原创 2020-04-05 16:42:25 · 6055 阅读 · 0 评论 -
PHP 登录成功后如何跳转至上一页
有些网站某个页面或者某个功能访问的时候需要用户授权才能进行访问,这个时候就会跳转到登录页面,更好的用户体验就是登陆成功后,再调回之前的页面。大体有两种思路思路一:在跳转到登录页面之前要将当前访问页面的url保存到cookie或者session里面,登录验证授权通过后,从cookie或者session中取出这个url值,跳转到该url指定的页面。$refer = 'http://' . $_...原创 2020-03-30 16:02:23 · 1846 阅读 · 0 评论 -
PHP实现用正则替换Img中src地址参数
在实际开发过程,我们往往需要PHP动态的去改变图片参数去达到图片压缩,或者图片裁剪功能,但是已经入库的老图片代码,如何能解决裁剪和压缩,这就用到了正则替换/*** 图片地址替换成压缩URL* @param string $content 内容* @param string $suffix 后缀*/function get_img_thumb_url($content="",$suffi...原创 2020-03-18 15:29:13 · 1319 阅读 · 0 评论 -
安装完宝塔后 SSH ROOT账号无法登陆解决办法
最近安装完新版的宝塔后,用SSH ROOT 账号无法登陆了,但是面板可以登陆,有两种解决办法一、检查 安全 - 防火墙 ,是否已经放行SSH对应端口,如果没有,添加上即可二、使用LINUX工具箱重置一次密码即可这是小编踩过的坑,希望有的童鞋可以用到...原创 2020-02-26 12:06:05 · 8960 阅读 · 0 评论 -
宝塔面板如何配置SSL 证书
申请完SSL 证书后,服务器上会提供好几个版本让你下载配置使用宝塔面板的童鞋都知道,用的最多的就是Apache 环境和Nginx 环境,下面我来教大家,这两个环境如何在宝塔面板上配置SSL 证书一、Nginx环境配置证书方法申请完SSL 证书,下载Nginx 版本会有如下两个文件用记事本或者代码编辑工具打开两个文件一次录入到面板中即可.key 的录入到左边密钥(KEY)处.pem ...原创 2020-02-20 15:44:57 · 4871 阅读 · 0 评论 -
windows下如何使用七牛qshell命令工具之qupload 本地同步上传
本文主要介绍 qshell 使用qupload 本地同步上传到七牛云存储简介qupload是用来将本地目录中的文件同步到七牛空间中的命令。格式一下为基本常用配置格式,具体的其他参数可以参考官方文档https://github.com/qiniu/qshell/blob/master/docs/qupload.md{ "src_dir" : "<Loc...原创 2020-01-21 23:39:17 · 1361 阅读 · 0 评论 -
windows下如何使用配置七牛qshell命令工具
公司网站为了重新布局,现在进行了拆分化,为了做图床,最终还是选择了七牛云,可是面对4个G 的本地存储如何上云到七牛,这可就上了头了,于是便先和他们客服沟通了一番,大概了解了一下七牛的存储平台使用教程等操作,最后在他们的推荐下有一个qshell 的一个东西,可以方便的上传下载编辑云存储信息,于是便来研究一下,这里重点说下如何将本地文件批量上传到七牛云一、什么是qshell...原创 2020-01-21 22:05:29 · 1083 阅读 · 0 评论 -
sitemap.xml 标签含义必备知识sitemap
什么是sitemapSitemap 可方便网站管理员通知搜索引擎他们网站上有哪些可供抓取的网页。最简单的 Sitemap 形式,就是XML 文件,在其中列出网站中的网址以及关于每个网址的其他元数据(上次更新的时间、更改的频率以及相对于网站上其他网址的重要程度为何等),以便搜索引擎可以更加智能地抓取网站。<urlset xmlns="http://www.sitemaps.org/sche...原创 2020-01-16 16:14:40 · 1996 阅读 · 0 评论 -
PHP 如何生成 xml 创建sitemap.xml
网站优化一般都需要sitemap ,所以就需要动态创建一下,当然去选择网上的各种生成工具直接生成也是可以的 $str = '<?xml version="1.0" encoding="utf-8"?>'; //$str .= '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" x...原创 2020-01-16 15:55:17 · 1400 阅读 · 0 评论 -
thinkPHP5报模板不存在错误的解决办法
最近使用thinkphp5 开发网站,总是遇到提示模板不存在,连个指定的模板文件名字这次都不显示了于是到控制器中各种的拦截输出判断,都能正常显示,可是偏偏就view 渲染模板的时候就是过不去!最后翻了一圈才发现是页面中使用了{include file="public/head_new" /}原来是这个东西影响的,是找不到public下的head_new文件了,把这段代码删了,或者改成已...原创 2020-01-09 10:09:12 · 7886 阅读 · 3 评论 -
php开发api接口安全验证
在开发小程序,APP,或者公众号等其他应用的时候,经常用到api接口来回传递数据,在这个过程中,服务器并不知道,请求的来源是什么,有可能是别人非法调用我们的接口,获取数据,因此就要使用安全验证。原理时间戳:当前时间随机数:随机生成的随机数口令:前后台开发时,一个双方都知道的标识,相当于暗号算法规则:商定好的运算规则,上面三个参数可以利用算法规则生成一个签名。前台生成一个签名,当需要访...原创 2020-01-08 20:22:03 · 798 阅读 · 0 评论 -
C语言学习笔记
//// main.cpp// Created by Wen Chen on 2018/4/29.// Copyright © 2018年 Wen Chen. All rights reserved.#include <stdio.h>#include <math.h>int main(){ /*求直角三角形斜边*/ float a,b,...原创 2018-04-30 21:02:49 · 309 阅读 · 0 评论 -
PHP会员登录实现记住密码功能 thinkPHP5
会员登录实现记住密码功能需要用到cookie 和session,首先我们来简单了解一下cookie 和session 的区别CookieCookie是完全保存在客户端。当客户端禁止cookie时将不能再使用;对服务端压力较小;可以指定生存周期;安全性差。SessionSession是存放在服务端的。服务端压力较大;关闭浏览器后,session失效;安全性较好。当制作单纯的会员登录功能,我...原创 2019-12-28 11:07:48 · 2197 阅读 · 0 评论 -
如何给网站加上robots.txt、robots.txt有什么用?
一、什么是Robots.txt?Robots.txt 是存放在站点根目录下的一个纯文本文件。虽然它的设置很简单,但是作用却很强大。它可以指定搜索引擎蜘蛛只抓取指定的内容,或者是禁止搜索引擎蜘蛛抓取网站的部分或全部内容。当搜索蜘蛛访问这个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索蜘蛛就会先读取这个文件的内容所以Robots.txt 文件应该放在网站根目录下,并...原创 2019-12-25 16:36:10 · 1042 阅读 · 0 评论 -
PHP研发对接第三方接口常用的一些方法函数
1、object转换array/** *object转换array *@param $array [object对象] * @return array*/function object_array($array){ if(is_object($array)){ $array = (array)$array; } if(is_array($array)...原创 2018-08-07 15:13:17 · 3915 阅读 · 0 评论 -
用PHP实现同一个帐号不允许同时登陆,只允许一个帐号登录?
数据库表user_login_info 字段:id,user_ip,user_id,last_access_time user_id做唯一性索引 1.用户登录后 如果没有当前用户的数据,插入一条数据,user_ip(用户机器的IP),user_id(用户ID),last_access_time(当前登录时间) 如果已经存在,则更新user_ip,last_acce...转载 2018-08-07 15:04:24 · 3058 阅读 · 0 评论 -
微信登录第三方登录,微信授权类
<?phpnamespace Org\Util;/** * 微信授权相关接口 * */class Wechat { //高级功能-》开发者模式-》获取 private $app_id = ''; private $app_secret = ''; private $redirect_uri = ''; /** * 获取微信授权链...转载 2018-08-09 13:57:08 · 2037 阅读 · 0 评论 -
阿里云虚拟主机配置thinkphp5.0 程序 注意事项
因为thinkphp5.0 默认入口是在public目录下,然而虚拟主机并不支持域名绑定到二级栏目上,所以把thinkphp 5.0程序,放到虚拟主机上,需要修改如下几个步骤1、修改移动入口文件位置,把它移动到根目录下(即htdocs)。 修改index.php入口文件内容// 定义应用目录define('APP_PATH', __DIR__ . '/application/');/...转载 2018-05-23 15:04:33 · 4515 阅读 · 0 评论 -
阿里云ECS服务器,不支持发送邮件解决办法(THINKPHP版)
基于安全考虑,ECS 服务器 25 端口默认受限,如果要使用25端口发送邮件或相关程序的话,有两种解决办法:一、登录阿里云控制中心 - 安全管控 - 业务申请 - 25端口解封(PS:好多人找不到安全管控在哪里,附下方截图) 二、修改发送邮件程序以ssl形式链接,这里我用到的是PHPMailer类// 配置邮件发送服务器'MAIL_HOST' =&gt;'smtp.163.co...原创 2018-05-09 14:06:31 · 6537 阅读 · 0 评论 -
获取阿里云权限类,请求阿里云API
获取阿里云权限类,请求阿里云API<?phpnamespace Org\Util;class Aliauth{ public $data; public $accessKeyId = ""; public $accessKeySecret = ""; public $url; public function __construct($acti...原创 2018-08-07 15:22:52 · 802 阅读 · 0 评论 -
服务器常见错误500 501 502 503 504 505 详解
最近公司业务人员,总来询问网站报错误代码具体是什么意思,为了大家好理解,所以贴出来吧,列出来几个比较常见的错误代码供大家学习一下 1、服务器500错误服务器500错误是服务器的内部错误,可能原因1、程序语言错误,例如:ASP或者PHP语法错误;2、高并发导致,系统资源限制不能打开过多的文件所致;2、服务器501错误服务器不支持请求的功能,无法完成请求,服务器无法识别请求方法时可能...原创 2019-05-08 11:26:37 · 12231 阅读 · 0 评论 -
PHP如何将一个数组分割成多个数组并循环( THINKPHP版)
最近在做项目中,好多项目要求,某个板块左右切换,并且一切换切一组,这就愁坏了,我们技术员了,用笨办法一层一层套循环也可以实现,但是毕竟方法太笨了,今天给大家分享一个简单的php自带函数即可就解决。下面我们来理解下大概的思路步骤,以Thinkphp为例:1、我们 要从数据库拿到对应的信息数据$childs = get_childs(3);//获取指定分类下的所有下级分类ID$home_n...原创 2019-05-30 13:08:13 · 5492 阅读 · 0 评论 -
PHP fastcgi模式上传大文件报错怎么处理
最近在项目中中上传图片时,大约有400多K,结果报了个服务器错误,以前从未遇到过,错误的内容如下:mod_fcgid: HTTP request length 139072 (so far) exceeds MaxRequestLen (131072)查了下资料,发现fastcgi默认的请求大小为131072,于是在apache配置中添加了MaxRequestLen 配置就好了。如果你只需要修...原创 2019-05-31 09:55:07 · 631 阅读 · 0 评论 -
如何解决微信测试公众号配置失败的问题
在对接微信公众号中,一直提示配置失败,该填写的都填写了,也对了好几遍,还是配置失败,最后自己翻阅了一下官方文档终于解决了。原来是如果此次GET请求来自微信服务器,则原样返回echostr参数内容,即可验证成功了代码两种返回方法第一种在文件的开头直接返回 echo $_GET[‘echostr’]; 即可echo $_GET['echostr'];exit;第二种使用PHP类库的那种写...原创 2019-05-29 22:40:09 · 7491 阅读 · 1 评论 -
ThinkPHP 5.0 远程代码执行高危漏洞 修复方案
漏洞描述由于ThinkPHP5.0框架对Request类的method处理存在缺陷,导致黑客构造特定的请求,可直接GetWebShell。漏洞评级严重影响版本ThinkPHP 5.0系列 < 5.0.24安全版本ThinkPHP 5.0系列 5.0.24ThinkPHP 5.1系列 5.1.31安全建议升级ThinkPHP至安全版本修复方法1.打开thinkphpli...原创 2019-06-21 10:00:35 · 4923 阅读 · 0 评论 -
php中self :: 和 this 的区别
在访问PHP类中的成员变量或方法时,如果被引用的变量或者方法被声明成const(定义常量)或者static(声明静态),那么就必须使用操作符::,反之如果被引用的变量或者方法没有被声明成const或者static,那么就必须使用操作符->。另外,如果从类的内部访问const或者static变量或者方法,那么就必须使用自引用的self,反之如果从类的内部访问不为const或者static变量...原创 2019-07-02 18:19:26 · 830 阅读 · 0 评论 -
thinkphp 3.2.3 分布式数据库支持
ThinkPHP内置了分布式数据库的支持,包括主从式数据库的读写分离,但是分布式数据库必须是相同的数据库类型。配置DB_DEPLOY_TYPE 为1 可以采用分布式数据库支持。如果采用分布式数据库,定义数据库配置信息的方式如下://分布式数据库配置定义'DB_DEPLOY_TYPE'=> 1, // 设置分布式数据库支持'DB_TYPE' => 'mysql...原创 2018-04-30 14:59:19 · 1369 阅读 · 0 评论