服务器 docker 在 Windows 中 docker run 运行时参数 -v 映射win系统磁盘时的写法
/e/wwwroot/test 对应win 的路径 e:\wwwroot\test
PHP docker环境下使用phpstorm进行xdebug调试代码填坑记录
首先,修改 php.ini 文件中的xdebug的配置 [XDebug] ;开启xdebug xdebug.enable=1 ;开启远程调试 xdebug.remote_enable=1 ;通讯key xdebug.idekey=PHPSTORM ;宿主机ip (docker從18.03開始建議連接到特殊DNS名稱host.docker.internal) xdebug.remote_host=host.docker.internal ;确定宿主机内此断口没有被占用 xdebug.remote_port=19000 ;开启远程连接回调,自动忽略 remote_host 设置,自动读取 $_SERVER[‘HTTP_X_FORWARDED_FOR’] 或者 $_SERVER[‘REMOTE_ADDR’] 变量 xdebug.remote_connect_back=1 配置phpstorm 如上图,phpstorm里面设置红框里面的端口保持和 php.ini 文件的配置一致 如上图,点击编辑debug配置,如果没有的话添加一个 如上图,添加一个debug配置,如果没有Server 则点击 …
PHP Laravel 中使用 内网转发导致HTTP_HOST不正确的临时处理
在Laravel中使用内网转发时,某些情况下转发HTTP_HOST不正确,会导致使用 URL::asset、route等跟URL相关的方法生成带域名的URL不正确,临时处理办法 在入口文件(public/index.php)进行设置,比如: if (strpos($_SERVER[‘HTTP_HOST’], ‘xxxx.com’) !== false) { $_SERVER[‘HTTP_HOST’] = ‘xxxx.com’; }
前端 mescroll.js 插件使用时,其他元素无法滚动
当 isBounce 参数设置 为 false 或者 调用mescroll.setBounce(false) 时,会造成其他元素无法滚动, 分析: 初步判断当做了上面的设置后,会给元素添加 touchstart、touchmove、touchend 等事件来阻止拖动 解决: 首先想到是修改源码,去掉某些元素,上面事件的处理,可能比较懒,源码看着看着就累了,想着官方是否有解决办法呢,于是在官网上找到解决办法,在需要拖动元素上面加一个class即可解决 可选class :mescroll-touch,mescroll-touch-x,mescroll-touch-y 分别是全向拖动、左右拖动、上下拖动 选择自己合适的加到元素上即可
服务器 宝塔 运行报 open_basedir restriction in effect 错误,可尝试如下操作
去掉下图红色框内打钩的,防跨站攻击
服务器 upupw 环境使用时访问目录或者文件报denied by request access control错误
upupw 环境使用时访问目录或者文件报denied by request access control错误时,可以尝试 打开 web 管理页面,一般情况下,命令 为 09 ,输入命令后会打开一个网页,让你输入账号和密码,默认账号和密码都是 upupw,正确打开后 在《请求控制》里面找到 禁止目录执行的规则 点击《修改》链接,然后 目标 选继续 ,然后提交即可,如下图
服务器 MySQL 清理二进制日志和限制保留天数
自动清理 动态设置 在终端中执行查询,查到当前二进制日志超时。 默认为0,表示永不超时 mysql> show variables like ‘%expire_logs_days%’; +——————+——-+ | Variable_name | Value | +——————+——-+ | expire_logs_days | 0 | +——————+——-+ 1 row in set (0.00 sec) 通过以下命令设置保留14天 set global expire_logs_days = 14; 当mysql切换日志时自动触发。 可以通过命令 flush logs; 手动触发。(不建议手动触发) 配置文件 运行时设置在重启后无效,为保证重启后有效,需要设置配置文件。 /etc/my.cnf [mysqld] expire_log…
PHP Laravel 5.6 中调试输出 SQL 语句
在 app \ Helpers \ Functions.php 文件里面,添加一个方法 if (!function_exists(‘getSql’)) { function getSql () { DB::listen(function($query) { $bindings = $query->bindings; $sql = $query->sql; foreach ($bindings as $replace){ $value = is_numeric($replace) ? $replace : “‘”.$replace.”‘”; $sql = preg_replace(‘/\?/’, $value, $sql, 1); } dd($sql); }); } } 在需要打印SQL的语句前面执行 getSql(); // 开始执行方法 xxxx->find();
前端 scss 样式穿透写法记录
主要是头部的 /deep/关键字 <style lang=”scss” scoped> /deep/ .swiper-pagination-bullets { bottom: 6px; .swiper-pagination-bullet { width: 6px; height: 6px; } .swiper-pagination-bullet-active { background: #fff; } } </style>
服务器 MySQL 占用 CPU过高 解决记录
首先使用 top 命令查看谁在占用 CPU 确认是MySQL 后 在 shell 执行 mysql -u root -p 输入MySQL 密码 然后 输入 show full processlist; 命令查看 正在执行的语句。 找到执行慢的语句,拿回本地 通过 EXPLAIN 命令 进行分析 , 比如:EXPLAIN SELECT id,title FROM xxxxx 然后有针对性的进行优化即可
服务器 MySQL 查询出所有重复的记录
假如我们有如下一张数据表(很简单,只是举例而已),表名为student。现在我们要取出其中重复记录。重复是以name相同为判定标准。 ID name phone age 1 张三 10086 15 2 李四 10010 20 3 王五 10010 22 4 赵六 10010 22 5 孙七 10010 22 查找出所有的重复数据 SELECT * FROM student WHERE phone IN (SELECT shortname FROM student GROUP BY phone HAVING COUNT(phone)>1) 查看重复数据的条数 SELECT phone,COUNT(*) FROM student GROUP BY phone HAVING COUNT(*) > 1