做网站廊坊/西安官网seo
实践说明:基于RHEL7(CentOS7.9)部署docker环境(23.0.1、24.0.2),所构建的php7.1.33镜像应用于RHEL7-9(如AlmaLinux9.1),但因为docker的特性,适用场景是不限于此的。
文档形成时期:2017-2023年
因系统或软件版本不同,构建部署可能略有差异,但本文未做细分,对稍有经验者应不存在明显障碍。
因软件世界之复杂和个人能力之限,难免疏漏和错误,欢迎指正。
文章目录
- PHP7.1模组选择说明
- 官方php:7.1.33-fpm镜像的临时容器
- 临时容器默认源
- 临时容器默认模组
- 创建自定义网络
- php7.1.33_Dockerfile
- 模组安装经验
- php模组部署说明
- 构建镜像
- 错误处理经验
- 运行容器
- php配置常见调整
- php-fpm配置常见调整
- 正式生产的容器和镜像
- 启动容器
- 测验
- 最终模组结果
- 镜像导出和配置备份
- 镜像和配置下载
- 镜像导入和解压配置
- 镜像信息
PHP7.1模组选择说明
php-7.1.33发布时间是2019.10.24,各模组安装可以参考这个时间。
官方php:7.1.33-fpm镜像的临时容器
通过临时容器获得默认配置和模组信息(可选):
创建临时容器的目的主要是获得默认配置、模组等信息。
docker run -itd --name phpfpm-7.1.33-tmp php:7.1.33-fpm
进入容器查看默认配置
docker exec -it phpfpm-7.1.33-tmp /bin/bash
临时容器默认源
# deb http://snapshot.debian.org/archive/debian/20191118T000000Z buster main
deb http://deb.debian.org/debian buster main
# deb http://snapshot.debian.org/archive/debian-security/20191118T000000Z buster/updates main
deb http://security.debian.org/debian-security buster/updates main
# deb http://snapshot.debian.org/archive/debian/20191118T000000Z buster-updates main
deb http://deb.debian.org/debian buster-updates main
可准备国内源,建议用http而不是https
/etc/apt/sources.list阿里云源准备,放构建当前目录
deb https://mirrors.aliyun.com/debian/ buster main non-free contrib
deb-src https://mirrors.aliyun.com/debian/ buster main non-free contrib
deb https://mirrors.aliyun.com/debian-security buster/updates main
deb-src https://mirrors.aliyun.com/debian-security buster/updates main
deb https://mirrors.aliyun.com/debian/ buster-updates main non-free contrib
deb-src https://mirrors.aliyun.com/debian/ buster-updates main non-free contrib
#deb https://mirrors.aliyun.com/debian/ buster-backports main non-free contrib
#deb-src https://mirrors.aliyun.com/debian/ buster-backports main non-free contrib
临时容器默认模组
Core
ctype
curl
date
dom
fileinfo
filter
ftp
hash
iconv
json
libxml
mbstring
mysqlnd
openssl
pcre
PDO
pdo_sqlite
Phar
posix
readline
Reflection
session
SimpleXML
SPL
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter
zlib
创建自定义网络
创建自定义网络,并指定网段、网关,只有定义了网段,才可以使用此网络为容器分配固定IP
docker network create -d bridge --subnet 10.1.5.0/24 --gateway 10.1.5.1 custom_bridge_net
php7.1.33_Dockerfile
基于官方php:7.1.33-fpm镜像默认模组、wordpress对php环境的要求,php7.4.33部署常见模组,以及曾经的生产环境常用模组,最终整理了比较完整模组安装的Dockerfile文件。
/root/sh/Dockerfiles/Independent/php7.1.33_Dockerfile 的内容:
FROM php:7.1.33-fpm
MAINTAINER Fisher "Y"# 经过反复偿试,发现php7.1.33中采用install-php-extensions几乎都是失败的,官方的docker-php-ext-install成功率较高,所以暂仍采用docker-php-ext-install和pecl方式。#Download PHP extensions
#ADD https://raw.githubusercontent.com/mlocati/docker-php-extension-installer/master/install-php-extensions /usr/local/bin/
#RUN chmod uga+x /usr/local/bin/install-php-extensions && sync
#COPY --from=mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/bin/
ADD sources_debian10.list /etc/apt/sources.list# 设置时区
ENV TZ=Asia/ShanghaiRUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone \&& mkdir /opt/web && mkdir -p /usr/local/php71/var/log && touch /usr/local/php71/var/log/php-fpm.log && touch /usr/local/php71/var/log/php_errors.log \&& groupadd www -g 1000 && useradd -s /sbin/nologin -M www -u 1000 -g 1000 && mkdir /home/www && chown www:www /home/www \&& chown www:www /usr/local/php71/var/log/php-fpm.log /usr/local/php71/var/log/php_errors.log \&& DEBIAN_FRONTEND=noninteractive apt-get update -q \&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y \curl \git \zip unzip \&& pecl install swoole-4.4.8 && docker-php-ext-enable swoole \&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y libmagickwand-dev && pecl install imagick-stable && docker-php-ext-enable imagick \&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends libmemcached-dev zlib1g-dev && pecl install memcached-3.1.3 && docker-php-ext-enable memcached \&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y libicu-dev && docker-php-ext-install -j$(nproc) intl && docker-php-ext-enable intl \&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y libpq-dev && docker-php-ext-install -j$(nproc) pgsql pdo_pgsql && docker-php-ext-enable pgsql pdo_pgsql \&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y libssl-dev && docker-php-ext-install -j$(nproc) ftp && docker-php-ext-enable ftp \&& docker-php-ext-install -j$(nproc) bcmath gettext mysqli pdo pcntl pdo_mysql shmop sockets sysvsem sysvshm calendar exif \&& docker-php-ext-enable bcmath gettext mysqli pdo pcntl pdo_mysql shmop sockets sysvsem sysvshm calendar exif \&& apt-get install -y --no-install-recommends libbz2-dev && docker-php-ext-install -j$(nproc) bz2 && docker-php-ext-enable bz2 \&& apt-get install -y --no-install-recommends libfreetype6-dev libjpeg62-turbo-dev libpng-dev \&& docker-php-ext-install -j$(nproc) iconv && docker-php-ext-enable iconv \&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && docker-php-ext-install -j$(nproc) gd && docker-php-ext-enable gd \&& apt-get install -y --no-install-recommends libgmp-dev \&& docker-php-ext-install -j$(nproc) gmp && docker-php-ext-enable gmp \&& apt-get install -y --no-install-recommends libldap2-dev \&& docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu && docker-php-ext-install -j$(nproc) ldap && docker-php-ext-enable ldap \&& apt-get install -y --no-install-recommends libmcrypt-dev && pecl install mcrypt-1.0.0 && docker-php-ext-enable mcrypt \&& pecl install redis-5.1.1 && docker-php-ext-enable redis \&& pecl install xdebug-2.8.1 && docker-php-ext-enable xdebug \&& apt-get install -y librabbitmq-dev libssl-dev && pecl install amqp && docker-php-ext-enable amqp \&& apt-get install -y --no-install-recommends libxml2-dev libtidy-dev libxslt1-dev && docker-php-ext-install -j$(nproc) soap wddx xmlrpc tidy xsl && docker-php-ext-enable soap wddx xmlrpc tidy xsl \&& apt-get install -y --no-install-recommends libzip-dev && docker-php-ext-install -j$(nproc) zip && docker-php-ext-enable zip \&& pecl install mongodb-1.11.1 && docker-php-ext-enable mongodb \&& docker-php-ext-configure opcache --enable-opcache && docker-php-ext-install opcache \&& apt-get install -y --no-install-recommends unixodbc-dev && pecl install sqlsrv-5.6.1 && docker-php-ext-enable sqlsrv && pecl install pdo_sqlsrv-5.6.1 && docker-php-ext-enable pdo_sqlsrv \&& rm -rf /var/lib/apt/lists/* > /dev/null 2>&1# 安装 Composer
ENV COMPOSER_HOME /root/composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
ENV PATH $COMPOSER_HOME/vendor/bin:$PATH# 部分模组未成功的,如下,或改用安装方式,或弃用:
# geoip odbc
# apt-get install -y --no-install-recommends libgeoip-dev && pecl install geoip && docker-php-ext-enable geoip 报错:geoip.c: In function 'zm_startup_geoip'
模组安装经验
- php7.1.33中安装mongodb-1.11.1这个老版本可以成功,新版本(mongodb-stable,即mongodb-1.16.1)未能成功,pecl+docker-php-ext-enable能成功,install-php-extensions方式未安装成功,虽然都提示安装成功了(install ok: channel://pecl.php.net/mongodb-1.11.1),但docker构建过程提示有错误而退出。后来在php7.4.33中安装mongodb-stable,通过install-php-extensions方式安装成功。
- imagick-3.4.4和imagick-stable(imagick-3.7.0)通过install-php-extensions方式安装没能成功,改用“apt-get install + pecl install + docker-php-ext-enable”的方式均能安装成功。后来在php7.4.33中安装imagick-stable(imagick-3.7.0)
- php7.1.33中中安装geoip未能成功,https://pecl.php.net/package/geoip 中显示该模组最后更新于2016年,估计不常用了,弃之。
- php7.1.33中采用install-php-extensions安装@composer没有成功。改用curl方式。
- 经过反复偿试,发现php7.1.33中采用install-php-extensions几乎都是失败的,官方的docker-php-ext-install成功率较高,所以仍采用docker-php-ext-install和pecl方式。
- memcached-2.2.0没有 PHP 版本限制 ( https://pecl.php.net/package/memcached/2.2.0 ),但memcached-3.1.4需要 PHP 7.0.0 或更新版本
- swoole可参考:https://www.jianshu.com/p/d1a438413255
php模组部署说明
参考:php模组部署说明
构建镜像
docker buildx build -t tmtcha/php:7.1.33-fpm-v1.01 -f /root/sh/Dockerfiles/Independent/php7.1.33_Dockerfile .
错误处理经验
遇错:rm: cannot remove '/var/lib/apt/lists/': No such file or directory
参考:https://github.com/iMacken/DevDock/issues/8
只有在apt出问题时才会使用这个方法,如果想要一个干净的环境 rm -rf /var/lib/apt/lists/ 这个方式可能解决这个问题。
可以输出到空:rm -rf /var/lib/apt/lists/ > /dev/null 2>&1
运行容器
容器运行失败,可查看日志
docker logs 容器ID或名称
以构建的镜像运行一个临时的容器,为查看和拷贝配置等文件。
删除之前的临时容器:docker stop phpfpm-7.1.33-tmp; docker rm phpfpm-7.1.33-tmp
docker run -itd --name phpfpm-7.1.33-tmp tmtcha/php:7.1.33-fpm-v1.01
可以看到,默认加载配置是这样的:
root@a2e6b489a34e:/var/www/html# php --ini
Configuration File (php.ini) Path: /usr/local/etc/php
Loaded Configuration File: (none)
Scan for additional .ini files in: /usr/local/etc/php/conf.d
Additional .ini files parsed: /usr/local/etc/php/conf.d/docker-php-ext-amqp.ini,
/usr/local/etc/php/conf.d/docker-php-ext-bcmath.ini,
/usr/local/etc/php/conf.d/docker-php-ext-bz2.ini,
/usr/local/etc/php/conf.d/docker-php-ext-calendar.ini,
/usr/local/etc/php/conf.d/docker-php-ext-exif.ini,
/usr/local/etc/php/conf.d/docker-php-ext-gd.ini,
/usr/local/etc/php/conf.d/docker-php-ext-gettext.ini,
/usr/local/etc/php/conf.d/docker-php-ext-gmp.ini,
/usr/local/etc/php/conf.d/docker-php-ext-imagick.ini,
/usr/local/etc/php/conf.d/docker-php-ext-intl.ini,
/usr/local/etc/php/conf.d/docker-php-ext-ldap.ini,
/usr/local/etc/php/conf.d/docker-php-ext-mcrypt.ini,
/usr/local/etc/php/conf.d/docker-php-ext-memcached.ini,
/usr/local/etc/php/conf.d/docker-php-ext-mongodb.ini,
/usr/local/etc/php/conf.d/docker-php-ext-mysqli.ini,
/usr/local/etc/php/conf.d/docker-php-ext-opcache.ini,
/usr/local/etc/php/conf.d/docker-php-ext-pcntl.ini,
/usr/local/etc/php/conf.d/docker-php-ext-pdo_mysql.ini,
/usr/local/etc/php/conf.d/docker-php-ext-pdo_pgsql.ini,
/usr/local/etc/php/conf.d/docker-php-ext-pdo_sqlsrv.ini,
/usr/local/etc/php/conf.d/docker-php-ext-pgsql.ini,
/usr/local/etc/php/conf.d/docker-php-ext-redis.ini,
/usr/local/etc/php/conf.d/docker-php-ext-shmop.ini,
/usr/local/etc/php/conf.d/docker-php-ext-soap.ini,
/usr/local/etc/php/conf.d/docker-php-ext-sockets.ini,
/usr/local/etc/php/conf.d/docker-php-ext-sqlsrv.ini,
/usr/local/etc/php/conf.d/docker-php-ext-swoole.ini,
/usr/local/etc/php/conf.d/docker-php-ext-sysvsem.ini,
/usr/local/etc/php/conf.d/docker-php-ext-sysvshm.ini,
/usr/local/etc/php/conf.d/docker-php-ext-tidy.ini,
/usr/local/etc/php/conf.d/docker-php-ext-wddx.ini,
/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini,
/usr/local/etc/php/conf.d/docker-php-ext-xmlrpc.ini,
/usr/local/etc/php/conf.d/docker-php-ext-xsl.ini,
/usr/local/etc/php/conf.d/docker-php-ext-zip.ini
配置均在/usr/local/etc/中,默认没有php.ini主配置,但仍然加载了构建过程中启用模组的子配置,
停止临时docker容器
拷贝配置到宿主机持久化目录中:
宿主机中执行:
mkdir -p /opt/docker_lnmp/{php71_cfg,php71_log}
docker cp phpfpm-7.1.33-tmp:/usr/local/etc /opt/docker_lnmp/php71_cfg
docker cp -a phpfpm-7.1.33-tmp:/usr/local/php71/var/log /opt/docker_lnmp/php71_log
注:会拷贝到目标路径下的子目录,需要再手动拷贝出来,并纠正权限,比如log文件应该是php-fpm运行用户所有,有可读写权限,因为用的www账户,容器内和宿主机的uid/gid一样,所以在宿主机执行chown www:www -R /opt/docker_lnmp/php71_log 也可以。
php配置常见调整
php日志路径变更为 error_log = /usr/local/php71/var/log/php_errors.log
修改内存限制,上传文件大小等必要配置,
upload_max_filesize = 32M
post_max_size = 32M
php-fpm配置常见调整
注,下面一些配置在php-fpm.conf中,一些在子配置www.conf中
user = www-data
group = www-data
改为
user = www
group = www
侦听端口变更为9001
listen = 127.0.0.1:9001
php-fpm日志路径变更为 error_log = /usr/local/php71/var/log/php-fpm.log
child processes视业务场景修改
内存限制
php_admin_value[memory_limit] = 128M
停止临时docker容器,或可删除
docker stop phpfpm-7.1.33-tmp; # docker rm phpfpm-7.1.33-tmp
正式生产的容器和镜像
启动容器
docker run -dit --privileged=true
-p 9001:9001
–network custom_lnmp_bridge_net --ip 10.1.5.130
-v /opt/web:/opt/web
-v /opt/docker_lnmp/php71_cfg:/usr/local/etc
-v /opt/docker_lnmp/php71_log:/usr/local/php71/var/log
–name=phpfpm-7.1.33-v1.01 tmtcha/php:7.1.33-fpm-v1.01
测验
该环境搭配宿主机的nginx+mysql,成功访问。
最终模组结果
# php -m
[PHP Modules]
amqp
bcmath
bz2
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gd
gettext
gmp
hash
iconv
imagick
intl
json
ldap
libxml
mbstring
mcrypt
memcached
mongodb
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_pgsql
pdo_sqlite
pdo_sqlsrv
pgsql
Phar
posix
readline
redis
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
sqlite3
sqlsrv
standard
swoole
sysvsem
sysvshm
tidy
tokenizer
wddx
xdebug
xml
xmlreader
xmlrpc
xmlwriter
xsl
Zend OPcache
zip
zlib[Zend Modules]
Xdebug
Zend OPcache
镜像导出和配置备份
mkdir /opt/data_bak/backup_ever/docker_images
docker save tmtcha/php:7.1.33-fpm-v1.01 > /opt/data_bak/backup_ever/docker_images/tmtcha-php-7.1.33-fpm-v1.01.tar
cd /opt/docker_lnmp
tar czpf /opt/data_bak/backup_ever/docker_images/php71_cfg.tar.gz php71_cfg
镜像和配置下载
地址:https://download.csdn.net/download/ynz1220/88726762
(资源如果不能打开是可能正在审核中,可过一会儿或次日访问)
镜像导入和解压配置
docker load < /opt/data_bak/backup_ever/docker_images/tmtcha_phpfpm7.4.33-v1.01.tar
tar czpf /opt/data_bak/backup_ever/docker_images/php71_cfg.tar.gz -C /opt/docker_lnmp/
镜像信息
名称:tmtcha/php:7.1.33-fpm-v1.01
大小:796MB
相关文章:

基于Docker官方php:7.1.33-fpm镜像构建支持67个常见模组的php7.1.33镜像
实践说明:基于RHEL7(CentOS7.9)部署docker环境(23.0.1、24.0.2),所构建的php7.1.33镜像应用于RHEL7-9(如AlmaLinux9.1),但因为docker的特性,适用场景是不限于此的。 文档形成时期:2017-2023年 因系统或软件版本不同&am…...

Type-C PD充电器受电端sink诱骗取电汇总:小家电应用5V9V12V15V20V28V
小家电产品、美容产品、电动产品等升级采用Type-C接口,在Type-C接口上使用Type-C取电芯片,即可使用快速充电器的5V、9V、12V、15V、20V供电,无需再配充电器,各类品牌的充电器都可以支持。目前充电器常见的USB-PD功率为:…...

禁用code server docker容器中的工作区信任提示
VSCode 添加受限模式,主要是防止自动运行代码的,比如在vscode配置的task和launch参数是可以运行自定义代码的。如果用VScode打开未知的工程文件就有可能直接运行恶意代码。 但是当我们的实验基础模板文件可控的情况下,要想禁用code server do…...

JSON格式插件-VUE
JsonEditor 安装: npm i bin-code-editor -S引入: import Vue from vue; import CodeEditor from bin-code-editor; import bin-code-editor/lib/style/index.css; import App from ./App.vue; Vue.use(CodeEditor); new Vue({el: #app,render: h > …...

dubbo的springboot集成
1.什么是dubbo? Apache Dubbo 是一款 RPC 服务开发框架,用于解决微服务架构下的服务治理与通信问题,官方提供了 Java、Golang 等多语言 SDK 实现。使用 Dubbo 开发的微服务原生具备相互之间的远程地址发现与通信能力, 利用 Dubbo …...

【人工智能】智能电网:未来能源的革命
未来能源的革命 智能电网革命的意义在于将电力行业从传统的集中式发电和集中式输配电模式转变为智能化、分布式、互动式的能源网络。 现在我们从以下方面详细认真的了解一下智能电网: 智能变电站,智能配电网,智能电能表,智能交互…...

【AIGC】一组精美动物AI智能画法秘诀
如何使用AI绘画,从以下角度,依据表格内容梳理,表格如下: 外貌特征物种姿势特征描述场景风格技术描述小巧可爱幼小浣熊倚在桌子上具有人形特征中世纪酒馆电影风格照明8k分辨率细节精致毛茸茸手持咖啡杯Jean-Baptiste Monge的风格蓝…...

JS 高频面试题
JS 的数据类型有哪些,有什么区别 基本数据类型(Undefined、Null、Boolean、Number、String、Symbol) 引用数据类型(对象、数组和函数) 区别: 原始数据类型直接存储在栈(stack)中的简…...

linux—多服务免密登录
文档结构 概念简介配置操作 概念简介 配置操作 场景:在部署gp集群时,希望 master 节点可以使用gpadmin用户可以实现免密登录 slave1和 slave2 节点; step_1: IP映射 xx.xx.xx.101 server-slave1 xx.xx.xx.102 server-slave2说明&#x…...

【MySQL】数据库之MHA高可用
目录 一、MHA 1、什么是MHA 2、MHA 的组成 3、MHA的特点 4、MHA的工作原理 二、有哪些数据库集群高可用方案 三、实操:一主两从部署MHA 1、完成主从复制 步骤一:完成所有MySQL的配置文件修改 步骤二:完成所有MySQL的主从授权&#x…...

ffmpeg 改变帧率,分辨率,时长等命令
ffmpeg -i elva.mp4 -ss 00:00:20 -t 00:00:30 -c:v copy -c:a copy output1.mp4 视频截取,开始时间和时长,-ss 00:00:20 -t 00:00:30 ffmpeg -i output1.mp4 -c:v libx265 output265.mp4 -c:v libx265,264转265 ffmpeg -i output1.mp4 -c:v libx264 output264.mp4 …...

烟火检测AI边缘计算智能分析网关V4在安防项目中的应用及特点
一、行业背景 随着社会和经济的发展,公共安全和私人安全的需求都在不断增长。人们需要更高效、更准确的安防手段来保障生命财产安全,而人工智能技术正好可以提供这种可能性,通过智能监控、人脸识别、行为分析等手段,大大提高了安防…...

有效的回文
常用方法就是双指针。使用两个指针从字符串的两端向中间移动,同时比较对应位置的字符,直到两个指针相遇。由于题目忽略非字母和非数字的字符且忽略大小写,所以跳过那些字符,并将字母转换为小写(或大写)进行…...

Electron快速上手
Electron 目录 简介 打包简单的html/css/javascript项目 打包Vue2项目 打包Vue3项目 简介 Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 嵌入 Chromium 和 Node.js 到 二进制的 Electron 允许您保持一个 JavaScript 代码代码库并创建 在Windows…...

华为“纯血”鸿蒙加速进场 高校、企业瞄准生态开发新风口
近日,华为终端BG CEO、智能汽车解决方案BU董事长余承东在2024年新年信中提出,开启华为终端未来大发展的新十年。 他特别提到,未来要构建强大的鸿蒙生态,2024年是原生鸿蒙的关键一年,将加快推进各类鸿蒙原生应用的开发…...

抖音百科怎么创建?头条百科的规则和技巧
在玩抖音的时候,不知道注意到抖音的搜索结果没有,有时候会去搜索框搜索一个品牌或人物名称,搜索框下面翻几下大概率就会出现百科词条,这个词条就是抖音百科。抖音的百科属于头条百科,因为这两个平台都属于字节跳动旗下…...

leetcode10-困于环中的机器人
题目链接: https://leetcode.cn/problems/robot-bounded-in-circle/description/?envTypestudy-plan-v2&envIdprogramming-skills 思路: 首先,题目要寻找的是成环的情况。 1.如果经历一次指令后的方向仍为北方,要使得机器人循…...

Linux-shell简单学习
我是南城余!阿里云开发者平台专家博士证书获得者! 欢迎关注我的博客!一同成长! 一名从事运维开发的worker,记录分享学习。 专注于AI,运维开发,windows Linux 系统领域的分享! 其他…...

CMake入门教程【高级篇】qmake转cmake
😈「CSDN主页」:传送门 😈「Bilibil首页」:传送门 😈「动动你的小手」:点赞👍收藏⭐️评论📝 文章目录 1. 概述2.qmake与cmake的差异3. qmake示例4.qmake转cmake示例5.MOC、UIC和RCC…...

c#图片作为鼠标光标
图片转换为鼠标光标代码如下: private void Form1_Load(object sender, EventArgs e) {//button1.Cursor System.Windows.Forms.Cursors.Hand;Bitmap bmp new Bitmap("780.jpg");Cursor cursor new Cursor(bmp.GetHicon());button1.Cursor cursor;} …...

微信小程序swiper实现层叠轮播图
在微信小程序中,需要实现展示5个,横向层叠的轮播图效果,轮播图由中间到2侧的依次缩小.如下图 使用原生小程序进行开发,没有使用Skyline模式,所以layout-type配置项也无效。所以基于swiper组件进行调整。 主要思路就是设置不同的样式ÿ…...

揭露欧拉骗局第二篇:逼近公式“Σ1/n=lnn+C”。
Σ1/nlnnC是欧拉为调和级数创造(注意是创造、而不是发现)的“逼近公式”,它在欧系大名鼎鼎,因为它解决了欧洲人百筹莫展的“调和级数求和问题”。 “lnnC”是欧拉的发明,欧拉认为n→∞时,Σ1/nlnn常数,这个常数就是欧…...

MYSQL的学习——单行函数详解
目录 1. 数值函数 1) 基本函数 2) 角度与弧度互换函数 3) 三角函数 4) 指数与对数函数 5) 进制间的转换 2. 字符串函数 3. 日期和时间函数 1) 获取日期、时间 2) 日期与时间戳的转换 3) 获取月份、星期、星期数、天数等函数 4) 日期的操作函数 5) 时间和秒钟转换的…...

深度解析Cron表达式:精确控制任务调度的艺术
深度解析Cron表达式:精确控制任务调度的艺术 希望我们都可以满怀期待的路过每一个转角 去遇见 那个属于自己故事的开始 去追寻那个最真实的自己 去放下 去拿起 安然,自得,不受世俗牵绊… 导言 在计算机科学领域,任务调度是一项关…...

java实现AES256对称加解密工具类
一、引入依赖包 引入相关依赖包 <dependency><groupId>org.bouncycastle</groupId><artifactId>bcprov-jdk15on</artifactId><version>1.70</version> </dependency> <!--lombok用于简化实体类开发--> <dependency&g…...

其他排序(基数排序,希尔排序和桶排序)(数据结构课设篇3,python版)(排序综合)
本篇博客主要详细讲解一下其他排序(基数排序,希尔排序和桶排序)也是排序综合系列里最后一篇博客。第一篇博客讲解的是LowB三人组(冒泡排序,插入排序,选择排序)(数据结构课设篇1&…...

【复现】DiffTalk
code:GitHub - sstzal/DiffTalk: [CVPR2023] The implementation for "DiffTalk: Crafting Diffusion Models for Generalized Audio-Driven Portraits Animation" 问题1. ERROR: Failed building wheel for pysptk Cython.Compiler.Errors.CompileError:…...

SQLServer 系统概述
目录 1.SQL语言的发展和特点 2.SQL语言的特点 1.SQL语言的发展和特点 SQL是利用一些简单的语句构成的基本语法,来存储数据库的内容。目前已经成为关系型数据库系统中使用最广泛的语言。 1974年SQL语言由Boyce和Chamberlin提出来。 1975~1979年研制了著名的关系数…...

Vue3 + TS + Element-Plus —— 项目系统中封装表格+搜索表单 十分钟写五个UI不在是问题
前期回顾 纯前端 —— 200行JS代码、实现导出Excel、支持DIY样式,纵横合并-CSDN博客https://blog.csdn.net/m0_57904695/article/details/135537511?spm1001.2014.3001.5501 目录 一、🛠️ newTable.vue 封装Table 二、🚩 newForm.vue …...

Linux系统——测试端口连通性方法
目录 一、TCP端口连通性测试 1、ssh 2、telnet(可能需要安装) 3、curl 4、tcping(需要安装) 5、nc(需要安装) 6、nmap(需要安装) 二、UDP端口连通性测试 1、nc(…...