Docker LNMP环境搭建

101.0k PHP教程 326评论
本文介绍如何使用Docker容器,快速部署LNMP环境。 最终完成的环境我们称为:DNMP(即 Docker + Nginx + MySQL + PHP)。 最终实现一键部署LNMP环境的目的,该环境特点: 完全开源 支持多版本PHP切换(PHP5.4、PHP5.6、PHP7.2...) 支持绑定任意多个域名 支持HTTPS和HTTP/2 PHP源代码位于host中 MySQL data位于host中 所有配置文件可在hos…

手把手编写PHP MVC框架实例教程

134.1k PHP教程 379评论
1 什么是MVC MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式。 MVC把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。 PHP中MVC模式也称Web MVC,从上世纪70年代进化而来。 MVC的目的是实现一种动态的程序设计,便于后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可…

Upload flask FileStorage to S3

21 记录 发表评论
Flask usesFileStorage as uploaded file object, it's full package name is werkzeug.datastructures.FileStorage. Following is the code to upload it to s3. def upload_file(file_storage: FileStorage): if not file_storage.filename: raise ApiParamError("File can't be empty.") remote_path = secure_filena…

Linux 中打开 cron 日志步骤

42 记录 发表评论
总共分 3 小步。 # 打开这个文件 sudo vim /etc/rsyslog.conf # 或者 vim /etc/rsyslog.d/50-default.conf 在vim编辑器中,添加如下一行。 如果已经有这么一行,但是被注释了,那就去掉注释。 cron.* /var/log/cron.log 然后重启 cron。 sudo systemctl restart rsyslog

如何在 Ubuntu 20.04 Focal Fossa Linux 桌面启动时禁用/启用 GUI

356 记录 一条评论
在下面的文章中,您将学习如何在Ubuntu 20.04 Focal Fossa Linux Desktop中在启动时禁用GUI 。 在本教程中,您将学习: 如何在启动时禁用 GUI 如何在启动时启用 GUI 如何从命令行启动 GUI 如何在 Ubuntu 20.04 启动时禁用 GUI 分步说明 以下命令将在启动时禁用 GUI,因此在重新启动时系统将启动到多用户目标: $ sudo systemctl set-def…

Maven/Gradle 编译错误解决:java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty

2.5k 记录 发表评论
Maven 或者 Gradle 编译遇到如下问题: ➜ idaas git:(main) ./gradlew build > Task :generateProto FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':generateProto'. > Could not resolve all files for configuration ':protobufToolsLocator_protoc'. > Could…

Selenium 爬取 Youtube 无限流分页页面

628 记录 发表评论
原理:通过执行 js 来获取页面可滚动的高度,抓取该高度范围内的数据后,再跳转到底部。 这里获取可滚动高度用的是document.documentElement.scrollHeight 而不是 document.body.scrollHeight,用 body 的时候这个返回值一直是 0。 代码如下: from selenium import webdriver from selenium.webdriver.chrome.options import Options f…

Java 读取 Reader 为 String

978 记录 发表评论
本文讲述如何在 Java 中将 Reader 转换成 String。 共三种方式:纯Java、使用 Guava 库以及使用Apache Commons IO库。 1 纯 Java 方式 如是是用纯 Java 代码从 Reader 中读取 String 的代码: @Test public void givenUsingPlainJava_whenConvertingReaderIntoStringV1_thenCorrect() throws IOException { StringReader reader = new S…

Java 从 resources 读取文件内容的方法汇总

333 记录 发表评论
目录结构: - src - main - java - com - awaimai - MainApplication.java - resources - data - demo.txt - application.yml 我们在 MainApplication.java 中读取文件 resources/data/demo.txt 的数据。 因为大部分程序都需要打包成 jar 包,所以,我们重点说明打成 jar 包可用的情况。

Spring Boot 实现根据 URL 切换多个数据库源

848 记录 发表评论
Spring Boot 实现根据 URL 切换多个数据库源 很多情况下,网站会用到多数据源的情况,比如多语言网站、多业务网站等。 在 Spring Boot 中,使用其自带了的路由数据源 (AbstractRoutingDataSource),可以很容易就能实现多数据库源的自动切换。 本文详细介绍如何实现以上目的,并且提供 Spring Boot 原生JDBC 和 MyBatis 的实现方式。 1…

MySQL 正则表达式替换

2.1k 记录 发表评论
先说结论: 对于 MySQL 8+, 用REGEXP_REPLACE()函数 对于 MySQL 5 及以前版本,用用户自定义函数 (user-defined function,简称UDF),如:mysql-udf-regexp 本文只说明 MySQL 8+ 中REGEXP_REPLACE()函数的用法,不对 UDF 进行说明,请自行参考 GitHub 链接。 用法 REGEXP_REPLACE(expr, pat, repl[, pos[, occurrence[, match_type]]])…
下一页 »