分类: Linux
-
本文记录了在 Windows 10 中使用 WSL 运行 .sh 脚本文件的尝试过程。通过管理员身份运行命令成功执行了测试文件,但在运行 themes.sh 时遇到了换行符语法错误及 PHP Redis 扩展报错。最终作者放弃在 WSL 中运行,转而在 Ubuntu 环境下执行,得出结论是脚本执行依赖的环境配置必须在 Ubuntu 中全部准备妥当,且所连接的 Redis 不再是 Windows 中的 Redis。
-
本文记录了在全新安装的 Ubuntu 22.04 LTS 虚拟机中安装 Docker 的过程。作者通过官方脚本一键安装,期间补充了 curl 依赖,并尝试切换至 root 用户以解决权限问题。安装过程中虽然出现了警告提示,但暂时忽略后继续配置了 Docker 服务开机自启动。最后通过执行 docker info 命令查看相关信息,确认 Docker 安装完毕。
-
本文介绍了在 Windows 10 上安装 Hyper-V 并创建安装 Ubuntu 虚拟机的过程。操作首先通过启用 Windows 功能内置的 Hyper-V 角色并重启完成安装,随后使用 Hyper-V 快速创建功能选择 Ubuntu 22.04 LTS,最终完成虚拟机配置并成功启动进入系统安装界面。
-
执行脚本安装 Elasticsearch 后发现 IK 分词插件未生效,经排查脚本自动安装代码无效。尝试手动使用 elasticsearch-plugin 安装插件,因 ES 版本为 7.17.6,先后尝试最新版及 7.17.5 版本插件均报版本不匹配错误。最终决定修改安装脚本,将 Elasticsearch 版本回退至 7.17.5,重新安装后 ES 版本正确且插件成功安装。
-
在 Linux 和 Laravel 6 环境下,针对任务队列即使设置了超时时间仍显示运行中的问题,文章进行了排查。过程包括检查日志确认命令未完成,以及在容器中手动执行命令复现失败。最终发现根源在于命令行执行失败时未抛出异常,导致任务队列无法感知错误并自动结束,从而维持运行状态。
-
针对在本地 Windows 10 环境执行 SQL 查询正常,而在 Linux 容器中无法查询到记录的问题,通过对比发现生成的 SQL 语句差异在于路径分隔符。分析打印生成的 SQL 与 DIRECTORY_SEPARATOR 常量,确认 Windows 环境生成反斜杠而 Linux 环境生成正斜杠,导致拼接后的路径格式不一致。删除代码中依赖 DIRECTORY_SEPARATOR 的拼接部分后,生成的 SQL 在两个操作系统中保持一致,成功解决了查询结果为 NULL 的问题。
-
针对在 Windows 10 中测试任务超时功能无效的问题,文章记录了在 Laravel 6 线上 Linux 服务器中进行测试的过程。在 Job 中添加长时间 sleep 后发现设置未生效,经排查确认是因为队列处理器作为常驻进程会在内存中保留启动时的应用状态,导致无法检测到代码变更。通过执行 php artisan queue:restart 命令重启队列处理器后,再次执行任务超过限制时间自动失败,结果符合预期。
-
本文记录了将 Laravel 8.x 项目部署至阿里云 ECS CentOS 7.7 的过程。基于 OneinStack 环境,通过虚拟主机脚本配置 Nginx 和 SSL,利用 FTP 上传代码并连接阿里云 RDS 数据库。文章详细解决了 PHP 禁用函数限制、Supervisor 进程管理配置及队列驱动调整等问题,最终通过 Supervisor 和 Crontab 实现了队列监听与任务调度,验证了部署成功。
-
执行 Docker 命令将 SQL 文件导入 MySQL 容器时出现安全警告,且数据库表显示为空。经排查,最终使用 docker cp 命令将本地 SQL 文件复制至容器内,随后进入容器登录 MySQL,通过执行 source 命令成功完成数据库导入操作。
-
执行 docker-compose 构建命令时出现 PHP 镜像元数据加载错误及挂载路径错误,尝试删除 Docker Volumes 时因占用冲突报错,重启电脑后继续遭遇 run.sh 文件未找到的异常,经排查确认问题由行分隔符导致,将 run.sh 的行分隔符从 CR 调整为 CRLF 后,再次执行命令报错解除,容器正常运行。
