10 2020 档案

摘要:使用nginx的301状态码: server { listen 80; listen 443; server_name xxx.com; ssl on; ssl_certificate /data/www-key/xxx.pem; ssl_certificate_key /data/www-key/ 阅读全文
posted @ 2020-10-29 16:51 兴同学在上海 阅读(221) 评论(0) 推荐(0)
摘要:1、XML 转数组: function xmlToArray($xml,$isfile=false){ //禁止引用外部xml实体 libxml_disable_entity_loader(true); if($isfile){ if(!file_exists($xml)) return false 阅读全文
posted @ 2020-10-21 14:13 兴同学在上海 阅读(204) 评论(0) 推荐(0)
摘要:方法1: 使用 usort 函数,不需要提取排序内容到一维数组,而且排序方法更为灵活。 usort($users, function($a, $b) { $al = strlen($a['name']); $bl = strlen($b['name']); if ($al == $bl) retur 阅读全文
posted @ 2020-10-21 12:06 兴同学在上海 阅读(2338) 评论(0) 推荐(0)
摘要:项目中有计算当前时间与指定时间差的需求,记录下实现代码。 $date = '2020-11-11 12:59:59'; $carbon = carbon::parse ($date); // 格式化一个时间日期字符串为 carbon 对象 $int = (new Carbon)->diffInSec 阅读全文
posted @ 2020-10-21 11:22 兴同学在上海 阅读(2637) 评论(0) 推荐(0)
摘要:ssh-keygen -t rsa -b 1024 -f yourkeyname -C "备注" 参数: -b 采用长度1024bit的密钥对,b=bits,最长4096,默认不用此参数 -t rsa 采用rsa加密方式,t=type,默认即为 rsa -f 生成文件名,f=output_keyfi 阅读全文
posted @ 2020-10-21 11:01 兴同学在上海 阅读(1062) 评论(0) 推荐(0)
摘要:由于之前项目中没有使用过 Guzzle ,所以记录下读取结果的方法。 $client = new \GuzzleHttp\Client(); # 获取一个外部 API 接口: $response = $client->get('http://api.map.baidu.com/geocoder/v2 阅读全文
posted @ 2020-10-20 11:30 兴同学在上海 阅读(2143) 评论(0) 推荐(0)
摘要:1、申请 SSL 证书。 2、将申请证书里的 key 文件和 crt 文件上传到/usr/local/nginx/conf/ssl/ 文件夹下,如果没有ssl文件夹,可以自己新建。 3、修改 nginx 配置文件: server { listen 80 default_server reusepor 阅读全文
posted @ 2020-10-20 11:11 兴同学在上海 阅读(380) 评论(0) 推荐(0)
摘要:代码示例: switch(true) { case (strlen($foo) > 30): $error = "The value provided is too long."; $valid = false; break; case (!preg_match('/^[A-Z0-9]+$/i', 阅读全文
posted @ 2020-10-19 16:51 兴同学在上海 阅读(1876) 评论(0) 推荐(0)
摘要:直接上代码: $ip = isset($_SERVER['HTTP_X_FORWARDED_FOR'])?$_SERVER['HTTP_X_FORWARDED_FOR']:$_SERVER['REMOTE_ADDR']; 解释: 如果没有使用代理,则 REMOTE_ADDR 即为客户端真实 IP. 阅读全文
posted @ 2020-10-19 16:06 兴同学在上海 阅读(466) 评论(0) 推荐(0)
摘要:1、先执行语句,查询当前的 sql_mode : select @@sql_mode; 2、复制查询出来的值,修改 sql_mode: set session sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_D 阅读全文
posted @ 2020-10-19 16:01 兴同学在上海 阅读(4567) 评论(0) 推荐(1)
摘要:注意:PHP为脚本语言,脚本执行完毕Redis 连接自动关闭,所以连接池并不能跨脚本使用。 使用连接池的原因:在高并发情况下,频繁地创建和释放 Redis 连接会对性能有较大影响。 连接池的原理:预先创建多个 Redis 连接,在进行 Redis 操作时直接获取已经创建的连接进行操作,操作完成后不会 阅读全文
posted @ 2020-10-19 14:46 兴同学在上海 阅读(3009) 评论(0) 推荐(0)
摘要:文章转自:php解决高并发问题 阅读全文
posted @ 2020-10-19 14:26 兴同学在上海 阅读(96) 评论(0) 推荐(0)
摘要:password_hash 函数在 PHP 5.5 时被引入。 此函数现在使用的是目前 PHP 所支持的最强大的加密算法 BCrypt. 项目中使用的 PHP 版本为 7.2 ,经排查发现该函数导致服务器在并发请求情况下 PHP-FPM 占用 CPU 过高,详细原因不明。 建议大家非必要不要在 PH 阅读全文
posted @ 2020-10-19 11:37 兴同学在上海 阅读(236) 评论(0) 推荐(0)
摘要:PDO 防注入的原理:将查询语句和具体的参数值分开发送到数据库服务器,在语句执行前参数值不会被解析。 示例代码: $dbh = new PDO("mysql:host=localhost; dbname=demo", "user", "pass"); $dbh->setAttribute(PDO:: 阅读全文
posted @ 2020-10-19 11:31 兴同学在上海 阅读(198) 评论(0) 推荐(0)
摘要:语言:PHP 框架:Laravel 6.18.10 接口在本地运行正常,部署到服务器,却一直提示登录失效。 排查错误: 1、代码是 git 拉取的,核对分支,再次 pull ,没有问题。 2、核对配置文件配置(配置文件 .env 未提交代码仓库),没有问题。 3、在判断登录中间件打断点,发现没有获取 阅读全文
posted @ 2020-10-16 15:34 兴同学在上海 阅读(464) 评论(0) 推荐(0)
摘要:记录下 Laravel 框架数据库查询构造器中 when 的一次错误用法。前车之鉴,后车之师。 错误用法: ->when(!empty($openid),function($query,$openid){ return $query->where('openid',$openid); } 正确用法1 阅读全文
posted @ 2020-10-16 10:41 兴同学在上海 阅读(239) 评论(0) 推荐(0)