[Php基础]
Php基础
dnbug Blog
技术界的一名工匠。
展开
-
如何安全的实现单点登陆
思考问题:如何安全的实现单点登陆?单点登陆:通常指的是1个用户仅可在1个设备上登陆系统 。这里要排除的情况,PC上虚拟机的使用、移动设备上双开或多开设备的使用。如何实现?仅可在1个设备上登录。只需要在设备应用用户第一次登录的时候,系统后台为此用户分配唯一ID标识,便可以实现。用唯一ID标识做系统逻辑,当此用户有再次做登录时,驳回当次登录操作,提示该用户已登录系统并提示其做其它操作(如提示修改密码、允许其它设备此次登录)。如何确保它是安全的?唯一ID,与sessionid机制类似,故可确保它的安全性原创 2020-12-13 09:38:01 · 499 阅读 · 0 评论 -
如何安全的实现应用系统的短信登陆方式
如何安全的实现系统的短信登陆方式辅助使用中间件(redis)来实现安全的短信登陆。思路:当在用户端发出短信登陆请求时,系统后台先检测redis中当前用户是否已存在有时效的短信验证码,如果有,则不生成新的短信验证码,并返回提示。反之则生成短信验证码,发送到用户手机并存入redis。以在redis中的短信验证码设置的过期时间,做逻辑判断。...原创 2020-12-13 02:06:35 · 232 阅读 · 2 评论 -
dpkg: 处理软件包 nginx (--configure)时出错: 依赖关系问题 - 仍未被配置
wangyetao@wangyetao-Lenovo-G510:~$ sudo apt install nginx正在读取软件包列表... 完成正在分析软件包的依赖关系树 正在读取状态信息... 完成 nginx 已经是最新版 (1.18.0-0ubuntu1)。升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。有 2 个软件包没有被完全安装或卸载。解压缩后会消耗 0 B 的额外空间。您希望继续执行吗? [Y/n] y正在...原创 2020-11-21 00:36:38 · 3505 阅读 · 0 评论 -
lnmp 安装多版本php
lnmp 安装多版本php,在lnmp的安装目录下./install.sh mphp标记:GEEK+”原创博主大赛原创 2020-09-06 20:33:10 · 334 阅读 · 0 评论 -
(SOS)ubuntu20, nginx无法解析php文件
1.bug现象:lnmp nginx 访问html正常 访问php 404。2.尝试解决:百度搜索“lnmp nginx 访问html正常 访问php 404”前9条记录的情况。一个讲的是nginx.conf中,fastcgi_param,路径这项。#fastcgi_param SCRIPT_FILENAME /home/wangyetao/PhpstormProjects/untitled001$fastcgi_script_name;fastcgi_param .原创 2020-09-06 14:45:02 · 773 阅读 · 0 评论 -
伪爬虫:实现CSDN博客访问人数统计功能
实现一个功能,博客统计功能要求:获取自己所关注的博主的10个属性,并生成直观性的统计图表。类似这样time[2020年 05月 04日 星期一 00:38:04 CST]...原创 2020-05-25 01:55:55 · 254 阅读 · 0 评论 -
如何在一长字符串中提取出所有数字?
1.定义正则$ex = "/\d+/";2.检测并存入数组$arr = [];txt = '';preg_match_all($ex,$txt,$arr);例:txt = 'TC-比特币>BTC-比特币 </a><td class=market-cap data-usd=116666294488 data-cny=807815528757 ...原创 2018-10-16 14:51:31 · 1943 阅读 · 0 评论 -
nginx下搭建tp5的开发环境,问题及处理过程
nginx下搭建tp5的开发环境 0.500无相应(/头大/)1.打开 php.ini 搜索 display_errors,把 Off 修改为 On就开启了 php 错误提示,这时再访问之前白屏的页面就会出现错误信息。Warning: require(): open_basedir restriction in effect. File(/home/wangyetao/Docu...原创 2018-11-27 02:42:37 · 722 阅读 · 0 评论 -
linux+phpstorm+xdebug配置步骤
一.根据官方文档指导,做linux+phpstorm+xdebug配置https://xdebug.org/wizard.php(看官方文档指导,下载对应版本和并执行提供的指令)Tailored Installation InstructionsThis page helps you finding which file to download, and how to configure...原创 2018-11-27 16:15:35 · 1103 阅读 · 0 评论 -
宝塔面板(Bt-Panel)安装与使用
一键创建网站、FTP、数据库、SSL;安全管理,计划任务,文件管理,PHP多版本共存及切换;自带LNMP与LAMP;支持CentOS、Ubuntu、Debian、Fedora、deepin),Web端管理后台控制面板;有控制面板是后台开发的福利!1.下载并安装wget -O install.sh http://download.bt.cn/install/install-ubuntu...原创 2019-04-24 00:24:53 · 13316 阅读 · 0 评论 -
TP5(tp5.0.12)图形验证码composer依赖错误解决办法
D:\phpStudy\PHPTutorial\WWW\hashroom>composer require topthink/think-captchaUsing version ^2.0 for topthink/think-captcha./composer.json has been updatedLoading composer repositories with p...原创 2018-10-09 17:07:35 · 1302 阅读 · 0 评论 -
php 截取某个字符之后的字符串
substr($str,strpos($str,"_"); //"_"为某个字符串原创 2018-09-27 15:27:25 · 14888 阅读 · 0 评论 -
唯一性订单号:时间订单号
/** * 得到新订单号 * @return string */function get_order_sn(){ /* 选择一个随机的方案 */ mt_srand((double)microtime() * 1000000); return date('Ymdhi') . str_pad(mt_rand(1, 99999), 5, '0', STR_PAD_...原创 2018-09-25 11:19:23 · 944 阅读 · 0 评论 -
连续签到积分场景实现思路
本文借鉴其他博客思路及自己思路所写,借鉴、记录,仅供参考。实现思路:数据表设计两个个字段:连续签到天数、签到日期主要有今天是否已签到,昨天是否已签到,断签情况。数据库字段num 记录已经连续签到次数times 记录签到的日期 格式年月日 如20160101<?php//获取今天的日期$today = date('Ymd');//获取签到记录$s...转载 2019-06-09 01:10:27 · 3857 阅读 · 0 评论 -
PHP整体架构图
原创 2019-06-02 16:53:45 · 2304 阅读 · 0 评论 -
PHP代码执行流程图
由Zend引擎,的编译器和执行器完成此段工作。原创 2019-06-02 16:50:40 · 1186 阅读 · 0 评论 -
关于系统整体架构在前期的思考
1.经发现,有很多公司的电商系统,都在后期必然的存在一些并发问题,咎其原因,这些系统在初期的时候,压根就没有为系统做并发的架构。后期再来做并发架构的补拙,无异于重构或颠覆性重写,带来的工作量是巨大的。2.系统既然是给多用户用的,多用户就一定要考虑并发事务处理,并发的架构是必然要加入的,考虑的因素有宽带、机器性能、项目程序性能、数据库性能。在这两个基础上,去做系统整体的架构和设计,才不会在后...原创 2019-06-07 15:49:56 · 150 阅读 · 0 评论 -
权限管理设计思路
权限管理的出现,是面向不同用户指定不同可访问资源的限制性管理(如服务、模块、功能页面、子功能)。涉及到用户权限,一般的后台,都要加入权限管理模块。如:一个工厂的后台管理系统,因为涉及到不同人员,部门主管、班长、组长、普通职员。权限管理有3个重要因素:1.用户 2.权限(可访问的资源) 3.角色(权限集)。在这三个基本基础上,可针对具体的系统的权限要求设计更合理的权限结构。...原创 2019-06-06 16:50:21 · 925 阅读 · 0 评论 -
php7调用.net webservice
define("baseUrl","http://xxx.xxx.xxx:10000/WebServices/SmartSystem.asmx?wsdl");define("baseUrl_v2","http://xxx.xx.xx.xx:9000/WebServices/SmartSystem.asmx?wsdl");class EmaerpWebServiceUtil{ pu...原创 2019-04-18 11:11:20 · 250 阅读 · 0 评论 -
php 日志功能
日志是个好东西,可以反查,可以记录,那么在一个php项目中,如何做一个日志功能呢?日志也分为很多种:系统操作日志,异常日志。这里以系统操作日志为例,来说明一个系统日志的实现。系统操作日志记录方式:我们假设已经封装好了一个名为system_log()的函数。system_log(a,b,c,d,e,f,g);//参数abcdefg分别表述单条日志各个字段内容,在调用到这个函...原创 2019-04-27 01:23:41 · 792 阅读 · 0 评论 -
PHP多语言版本实现方式 - session标记+label语言包
1.Session相关的方法function get_now_lang(){ $lang = Session::get('language'); return $lang;}function set_usernow_lang($language){ Session::set('language',$language);}2.配置语言包lan...原创 2019-04-19 15:58:40 · 1072 阅读 · 0 评论 -
php获取今日开始时间戳和结束时间戳
//php获取今日开始时间戳和结束时间戳$beginToday=mktime(0,0,0,date('m'),date('d'),date('Y'));$endToday=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;原创 2018-07-03 09:29:26 · 7759 阅读 · 0 评论 -
TP的正则路由(适用于条件筛选URL方式搜索页面)
例子:'/^([a-z]{2,40})\/changfang(?:\/([a-z]{2,60})?)?\/?(?:b(10|15|20|25|26)?)?(?:c(1|2|3)?)?(?:d(1|2)?)?(?:e(500|1000|1500|2500|5000|8000|10000|10001)?)?$/'=>array('Index/factoryList?sepllname=:1&am...原创 2018-06-26 11:29:22 · 1683 阅读 · 0 评论 -
解决Your requirements could not be resolved to an installable set of packages.
wangyetao@linux_u1604:~/LinuxRoom/PROJECT_CODE_PHP/raw_materials/raw_materials$ composer installLoading composer repositories with package informationInstalling dependencies (including require-dev) ...原创 2018-05-09 19:16:38 · 4735 阅读 · 0 评论 -
Nginx配置
//修改配置wangyetao@linux_u1604:/etc/init.d$ sudo gedit /usr/local/nginx/conf/nginx.conf配置修改内容....#root /home/wwwroot/factory/public;#root /home/wwwroot/default; #root /home/wangyetao/LinuxRoom...原创 2018-03-08 17:11:14 · 433 阅读 · 0 评论 -
[ThinkPHP3.2.3]模型CURD操作
模型定义:namespace Home\Model;use Think\Model;class UserModel extends Model {}直接实例化:$User = new \Home\Model\UserModel();$Info = new \Admin\Model\InfoModel();// 带参数实例化$New = new \Home\Model\NewM...原创 2018-03-22 17:54:28 · 426 阅读 · 0 评论 -
ThinkPHP 中的eq lt gt neq
eq 或者 equal :等于lt :小于gt :大于neq 或者 notequal :不等于egt :大于等于elt :小于等于heq :恒等于原创 2018-04-19 14:21:12 · 1435 阅读 · 0 评论 -
[PHP配置]添加session跨子域共享配置
名词:IP,主域,子域添加session跨子域共享配置,在session_start()之前ini_set('session.cookie_path', '/');ini_set('session.cookie_domain', '.youdomain.com');ini_set('session.cookie_lifetime', '1800');站点一:站点二:站点三:站点四:se...原创 2018-03-29 17:09:39 · 492 阅读 · 0 评论 -
[PHP笔记]code笔记1:添加项目要修改的四项
原创 2018-03-30 16:53:27 · 133 阅读 · 0 评论 -
[PHP配置]项目依赖安装之composer install
wangyetao@linux_u1604:~/LinuxRoom/PROJECT_CODE_PHP/icf8_sub/cfzx$ composer installLoading composer repositories with package informationInstalling dependencies (including require-dev) from lock file...原创 2018-03-30 09:49:07 · 1445 阅读 · 0 评论 -
简单权限管理表结构设计
权限:在多用户计算机系统的管理中,权限(privilege)是指某个特定的用户具有特定的系统资源使用权力,像是文件夹,特定系统指令的使用或存储量的限制。名词:用户,角色,权限首先来张简单的树结构:.└── 权限 ├── 用户A(admin) │ ├── 发布管理 │ ├── 会员管理 │ ├── 我的面板 │ │ ├── 错误日志...原创 2018-03-22 16:26:48 · 2725 阅读 · 0 评论 -
phpstorm xdebug调试配置
调试:"慢镜头"一下,看看程序它,做了什么事。看看堆栈里都放了些什么。 root@linux_u1604:/# find -name php.ini./etc/php/7.0/phpdbg/php.ini./etc/php/7.0/apache2/php.ini./etc/php/7.0/cli/php.inifind: `./run/user/1000/gvfs': 权限不够....原创 2018-03-12 15:10:32 · 211 阅读 · 0 评论 -
惊叹于ThinkPHP3.2.3灵活的路由规则
惊叹于ThinkPHP3.2.3运行时路由规则,上同一个登录页面,多种url方式可访问到http://127.0.0.1/user/loginpagehttp://127.0.0.1/loginpagehttp://127.0.0.1/index.php?s=/user/loginpagehttp://127.0.0.1/index.php?c=user&a=loginpa...原创 2018-03-10 15:44:48 · 1054 阅读 · 1 评论 -
Nginx下本机多项目虚拟主机配置[一个端口多个站点]
nginx下多项目虚拟主机配置: 假如你需要在一台机子上,用不同的域名访问和运行不同的项目,这个时候你就需要vhost配置; “本机虚拟域名、一个端口多个站点”0.hosts文件配置修改wangyetao@linux_u1604:/$ cat /etc/hosts127.0.0.1 localhost127.0.0.1 local.cfzx.com ...原创 2018-03-16 16:40:19 · 447 阅读 · 0 评论 -
在生产环境中如何快速盘查、排查出程序bug出现的位置及原因?谢谢留言!
第一.有赖于经验,但经验主义有时候也会犯判断上的错误。原创 2018-05-19 09:05:32 · 1984 阅读 · 0 评论 -
三层测试
第一层:本机第二层:内网第三层:公网原创 2018-05-19 09:54:49 · 180 阅读 · 0 评论 -
thinkphp U标签去掉生成的'index.php'
ThinkPHP/Conf/convertion.php 配置项改成 URL_MODEL => 2原创 2018-05-19 17:08:18 · 1115 阅读 · 0 评论 -
PHP模板中,模板变量和<if>标签中变量使用的不同点
<dl> <dt>材质</dt> <dd>{$recommend['texture_name']}</dd></dl><dl> <dt>是否进口</dt> <dd class="w76"&a原创 2018-06-13 23:19:49 · 548 阅读 · 0 评论 -
PHP数组常用函数
PHP数组常用函数array_slice;//返回数组中被选定的部分。array_merge();//把一个或多个数组合并为一个数组。array_change_key_case();//把数组中所有键更改为小写或大写。http_build_query;//url参数拼接...原创 2018-05-16 16:05:56 · 107 阅读 · 0 评论 -
<foreach>内置标签如何确定最后一个元素?
取决于要遍历变量的结构,视情况而定。变量结构:Array( [0] => Array ( [product_id] => 11 [user_id] => 0 ... ) [1] => Array ( [prod...原创 2018-05-22 16:32:31 · 1212 阅读 · 0 评论