摘要: 代码示例: 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 兴同学在上海 阅读(1840) 评论(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 兴同学在上海 阅读(459) 评论(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 兴同学在上海 阅读(4475) 评论(0) 推荐(1) 编辑
摘要: 注意:PHP为脚本语言,脚本执行完毕Redis 连接自动关闭,所以连接池并不能跨脚本使用。 使用连接池的原因:在高并发情况下,频繁地创建和释放 Redis 连接会对性能有较大影响。 连接池的原理:预先创建多个 Redis 连接,在进行 Redis 操作时直接获取已经创建的连接进行操作,操作完成后不会 阅读全文
posted @ 2020-10-19 14:46 兴同学在上海 阅读(2836) 评论(0) 推荐(0) 编辑
摘要: 文章转自:php解决高并发问题 阅读全文
posted @ 2020-10-19 14:26 兴同学在上海 阅读(94) 评论(0) 推荐(0) 编辑
摘要: password_hash 函数在 PHP 5.5 时被引入。 此函数现在使用的是目前 PHP 所支持的最强大的加密算法 BCrypt. 项目中使用的 PHP 版本为 7.2 ,经排查发现该函数导致服务器在并发请求情况下 PHP-FPM 占用 CPU 过高,详细原因不明。 建议大家非必要不要在 PH 阅读全文
posted @ 2020-10-19 11:37 兴同学在上海 阅读(222) 评论(0) 推荐(0) 编辑
摘要: PDO 防注入的原理:将查询语句和具体的参数值分开发送到数据库服务器,在语句执行前参数值不会被解析。 示例代码: $dbh = new PDO("mysql:host=localhost; dbname=demo", "user", "pass"); $dbh->setAttribute(PDO:: 阅读全文
posted @ 2020-10-19 11:31 兴同学在上海 阅读(187) 评论(0) 推荐(0) 编辑