Linux部署lomp环境,安装typecho、WordPress博客

部署lomp环境,安装typecho、WordPress博客

  • 一、环境要求
    • 1.1.版本信息
    • 1.2.准备阿里云服务器【新用户免费使用三个月】
    • 1.3.准备远程工具【FinalShell】
  • 二、Linux下安装openresty
  • 三、Linux下安装Mysql
  • 四、安装Apache【此步骤可省略】
    • 4.1.安装Apache服务及其扩展包
    • 4.2.Apache服务相关命令
    • 4.3.检查Apache状态
    • 4.4.查看其配置文件位置
    • 4.5.如果想修改默认页面,可以修改指定目录中 index.html 内容
    • 4.6.开放centos7的80和3306端口,配置防火墙相关命令
    • 4.7.打开浏览器输入ECS服务器的公网IP,如果显示如下图的测试页面表示Apache服务安装成功。
  • 五、remi扩展源安装PHP
    • 5.1.PHP官网
    • 5.2.安装remi扩展源
    • 5.3.安装yum管理工具
    • 5.4.安装php7.4
    • 5.5.查看安装结果
    • 5.6.建立软连接
    • 5.7.启动PHP
    • 5.8.修改php-fpm的配置
    • 5.9.创建PHP测试页面
    • 5.10.修改nginx配置文件,使nginx支持php
    • 5.11.重启openresty服务
    • 5.12.查看openresty运行状态来判断是否成功
    • 5.13.打开浏览器,访问http://<ECS公网IP>:8080/info.php,显示如下页面表示PHP安装成功
    • 5.14.出现问题解决
      • 5.14.1.CentOS 64 编译PHP出现 error: Cannot find ldap libraries in /usr/lib
      • 5.14.2.编译安装PHP7.4时出现configure: error: Package requirements (oniguruma) were not met
      • 5.14.3.Package requirements (libzip >= 0.11 libzip != 1.3.1 libzip != 1.7.0) were not met
  • 六、搭建博客【WordPress】
    • 6.1.创建文件夹管理
    • 6.2.下载Wordpress安装包并解压
    • 6.3.修改WordPress配置文件wp-config.php
    • 6.4.创建存储博客网站内容的数据库
    • 6.5.配置MySQL的安全性
    • 6.6.输入exit退出数据库
    • 6.7.修改openresty配置文件并重启
    • 6.8.防火墙放行8080端口
    • 6.9.确保服务启动
    • 6.10.FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream
    • 6.11.打开浏览器,访问http://<ECS公网IP>:8080
    • 6.12.博客页面进行相关设置
  • 七、安装typecho博客
    • 7.1.创建文件夹管理并下载
    • 7.2.修改openresty配置文件
    • 7.3.创建数据库typecho
    • 7.4.打开浏览器,访问http://<ECS公网IP>:8081
    • 7.5.博客页面进行相关设置
    • 7.6.Typecho点击前台链接或者后台登录时出现404的解决方法
    • 7.7.配置Joe主题
    • 7.8.关闭【Bye Bye】
  • endl

一、环境要求

1.1.版本信息

CentOS 7.9
openresty 1.25.3.1
Mysql 5.7
PHP 7.4.33

在这里插入图片描述

1.2.准备阿里云服务器【新用户免费使用三个月】

阿里云服务器链接专享:https://www.aliyun.com/daily-act/ecs/activity_selection?userCode=yu4fhct7

在这里插入图片描述

1.3.准备远程工具【FinalShell】

官网:http://www.hostbuf.com/
下载链接:http://www.hostbuf.com/t/988.html

在这里插入图片描述
在这里插入图片描述

二、Linux下安装openresty

参考链接:https://blog.csdn.net/qq_45740503/article/details/135887895

三、Linux下安装Mysql

参考链接:https://blog.csdn.net/qq_45740503/article/details/135617610

四、安装Apache【此步骤可省略】

4.1.安装Apache服务及其扩展包

yum -y install httpd httpd-manual httpd-devel mod_ssl mod_perl

4.2.Apache服务相关命令

#启动Apache服务
systemctl start httpd#重启Apache服务
systemctl restart httpd# 查看Apache状态
systemctl status httpd#停止Apache服务
systemctl stop httpd# 设置Apache服务开机自启动
systemctl enable httpd

4.3.检查Apache状态

# 查看Apache状态
systemctl status httpd# 检查apache软件版本
rpm -qa | grep httpd# 检查apache的进程
ps -ef | grep apache

在这里插入图片描述
在这里插入图片描述

4.4.查看其配置文件位置

rpm -qc httpd

在这里插入图片描述

配置文件主目录: /etc/httpd/conf/http.conf默认发布目录是:/var/www/html子配置文件目录 /etc/httpd/conf.d/*默认关联上下文的情况是 httpd_sys_content_t通找到index 进行添加默认访问目录,其访问顺序分先后次序apache 日志文件位置 :/etc/httpd/logs/*apache 的默认用户为apacheapache 有同步阻塞功能,使用的意义是在有多个文件时是顺序访问的

4.5.如果想修改默认页面,可以修改指定目录中 index.html 内容

# 目录地址
cd /usr/share/httpd/noindex

4.6.开放centos7的80和3306端口,配置防火墙相关命令

方法1 直接关闭防火墙,开启系统所有端口
systemctl stop firewalld方法2 防火墙放行80端口【推荐】
//放行80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
//让防火墙通过mysql的3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
//使能防火墙生效 
firewall-cmd --reload
//查看是否生效
firewall-cmd --list-ports

在这里插入图片描述
在这里插入图片描述

4.7.打开浏览器输入ECS服务器的公网IP,如果显示如下图的测试页面表示Apache服务安装成功。

说明:在实例页面可查看到ECS服务器的公网IP。
在这里插入图片描述

五、remi扩展源安装PHP

5.1.PHP官网

官网:https://www.php.net/
在这里插入图片描述

5.2.安装remi扩展源

yum install -y epel-releaseyum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm

5.3.安装yum管理工具

yum install -y yum-utils

5.4.安装php7.4

yum search php74yum install -y php74-php-cli php74-php-common php74-php-devel \
php74-php-embedded php74-php-fpm php74-php-gd php74-php-mbstring \
php74-php-mysqlnd php74-php-pdo php74-php-opcache php74-php-xml php74-php-soap php74-php-zip

在这里插入图片描述
在这里插入图片描述

5.5.查看安装结果

yum list installed | grep php

在这里插入图片描述

5.6.建立软连接

通过remi安装的php的指令是php74,建立一下软链接

find / -name php74ln -s /opt/remi/php74/root/usr/bin/php /usr/local/bin/php

在这里插入图片描述

5.7.启动PHP

start、stop、restart、enable、status、restart
php -v# 启动fpm
systemctl start php74-php-fpm# 开机自启
systemctl enable php74-php-fpm

在这里插入图片描述

5.8.修改php-fpm的配置

vim /etc/opt/remi/php74/php-fpm.d/www.conf
#创建 www的用户
useradd www
;把user = apache和group = apache 改成user = www
group = www;在这个配置文件中前面加上;就是注释
;user = apache
;group = apache
systemctl restart php74-php-fpm

在这里插入图片描述

在这里插入图片描述

5.9.创建PHP测试页面

mkdir -p /opt/www
echo "<?php phpinfo(); ?>" > /opt/www/info.php

在这里插入图片描述

5.10.修改nginx配置文件,使nginx支持php

# 备份文件
mv /usr/local/openresty/nginx/conf/nginx.conf /usr/local/openresty/nginx/conf/nginx.conf.bakvi /usr/local/openresty/nginx/conf/nginx.conf

主要添加内容:

user www;server {listen 8080;server_name localhost;location / {#修改html路径root /opt/www;# 添加index.phpindex index.php index.html;}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000location ~ \.php$ {root /opt/www;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;fastcgi_pass  127.0.0.1:9000;include fastcgi_params;}}

完整内容:

user www;
# 指令名	指令值;  #全局块,主要设置Nginx服务器整体运行的配置指令
worker_processes  1;  # 默认为1,表示开启一个业务进程error_log  logs/error.log;# events块,主要设置,Nginx服务器与用户的网络连接,这一部分对Nginx服务器的性能影响较大
events { # 事件驱动模块accept_mutex on; #设置Nginx网络连接序列化,防止多个进程对连接的争抢multi_accept on; #设置Nginx的worker进程是否可以同时接收多个网络请求worker_connections 1024; # 设置Nginx单个worker进程最大的连接数use epoll; #设置Nginx使用的事件驱动模型,使用epoll函数来优化Ngin
}# http块,是Nginx服务器配置中的重要部分,代理、缓存、日志记录、第三方模块配置...  
http {include       mime.types; # 引入http mime类型default_type  application/octet-stream; # 如果mime类型没有匹配上,默认使用二进制流的方式传输log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log  logs/access.log  main;sendfile        on; # 使用limux的sendfile(socket,file,len)高效网络传输,也就是数据0拷贝tcp_nopush      on; # 主要是用来提升网络包的传输效率tcp_nodelay     on; # 提高网络包传输的实时性keepalive_timeout  65;# server块,是Nginx配置和虚拟主机vhost相关的内容server { # 虚拟主机配置listen       80; # 监听端口号80server_name  localhost; # 域名、主机名#  location块,基于Nginx服务器接收请求字符串与location后面的值进行匹配,对特定请求进行处理location / { # 匹配路径root   html; # 文件根目录index  index.html index.htm; # 默认页名称}error_page   500 502 503 504  /50x.html; # 报编码错误对应页面location = /50x.html {root   html;}}server {listen 8080;server_name localhost;location / {#修改html路径root /opt/www;# 添加index.phpindex index.php index.html;}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000location ~ \.php$ {root /opt/www;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;fastcgi_pass  127.0.0.1:9000;include fastcgi_params;}}}

在这里插入图片描述
在这里插入图片描述

5.11.重启openresty服务

systemctl restart openresty

5.12.查看openresty运行状态来判断是否成功

systemctl status openresty

在这里插入图片描述

5.13.打开浏览器,访问http://<ECS公网IP>:8080/info.php,显示如下页面表示PHP安装成功

http://192.168.229.141:8080/info.php

在这里插入图片描述

5.14.出现问题解决

5.14.1.CentOS 64 编译PHP出现 error: Cannot find ldap libraries in /usr/lib

cp -frp /usr/lib64/libldap* /usr/lib/

5.14.2.编译安装PHP7.4时出现configure: error: Package requirements (oniguruma) were not met

网址: https://github.com/kkos/oniguruma

mkdir -p /php/modulescd /php/moduleswget https://github.com/kkos/oniguruma/releases/download/v6.9.9/onig-6.9.9.tar.gztar -zxf onig-6.9.9.tar.gz./configure --prefix=/usr --libdir=/lib64
#64位的系统一定要标识  --libdir=/lib64 否则还是不行make && make install

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.14.3.Package requirements (libzip >= 0.11 libzip != 1.3.1 libzip != 1.7.0) were not met

CMake Error at CMakeLists.txt:1 (cmake_minimum_required):CMake 3.5.0 or higher is required.  You are running version 2.8.12.2-- Configuring incomplete, errors occurred!
configure: error: Package requirements (libzip >= 0.11 libzip != 1.3.1 libzip != 1.7.0) were not met:No package 'libzip' found
No package 'libzip' found
No package 'libzip' found

解决:

提示cmake版本过低,需新版本,则需要重新安装cmake
# 移除旧的cmake
yum remove cmake
# 安装cmake
cd /php/modules
wget https://cmake.org/files/v3.9/cmake-3.9.1-Linux-x86_64.tar.gz
# 这个cmake压缩包不是源码包,解压后直接用
tar -zxf cmake-3.9.1-Linux-x86_64.tar.gz
mv cmake-3.9.1-Linux-x86_64 /opt/cmake-3.9.1
# 创建软链接
ln -sf /opt/cmake-3.9.1/bin/*  /usr/bin/
# 查看版本
cmake --version# libzip 编译生成静态库
# 移除旧的libzip
yum remove libzip
cd /php/moduleswget https://libzip.org/download/libzip-1.3.2.tar.gztar -zxf libzip-1.3.2.tar.gzcd libzip-1.3.2./configure --prefix=/usr/local/libzip-1.3.2
make && make installvim /etc/profileexport PKG_CONFIG_PATH='/usr/local/libzip-1.3.2/lib/pkgconfig'
source /etc/profilemkdir build
cd buildcmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=/usr/local/libzip-1.10.1 ..
cmake --build .
cmake --install .

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

六、搭建博客【WordPress】

WordPress官网:https://cn.wordpress.org/

6.1.创建文件夹管理

mkdir -p /wordpress/core
cd /wordpress/core

6.2.下载Wordpress安装包并解压

wget https://cn.wordpress.org/wordpress-6.4.2-zh_CN.tar.gztar -zxf wordpress-6.4.2-zh_CN.tar.gz

在这里插入图片描述

6.3.修改WordPress配置文件wp-config.php

  • database_name_here为之前步骤中创建的数据库名称,本示例为wordpress。
  • username_here为MySQL数据库的用户名,本示例为root。
  • password_here为MySQL数据库的登录密码,本示例为Mysql.123456。
cd /wordpress/core/wordpresscp wp-config-sample.php wp-config.phpvi wp-config.php# 设置wordpress的权限
chown -R www.www /wordpress/core/wordpresssystemctl restart php74-php-fpm
// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
/** WordPress数据库的名称 */
define( 'DB_NAME', 'wordpress' );/** MySQL数据库用户名 */
define( 'DB_USER', 'root' );/** MySQL数据库密码 */
define( 'DB_PASSWORD', '123456' );/** MySQL主机 */
define( 'DB_HOST', '192.168.229.141:3306' );/** 创建数据表时默认的文字编码 */
define( 'DB_CHARSET', 'utf8' );/** 数据库整理类型。如不确定请勿更改 */
define( 'DB_COLLATE', '' );

在这里插入图片描述

在这里插入图片描述

6.4.创建存储博客网站内容的数据库

systemctl start mysqldmysql -u root -pcreate database wordpress; show databases;

在这里插入图片描述
在这里插入图片描述

6.5.配置MySQL的安全性

mysql_secure_installation
[root@localhost mysql]# mysql_secure_installation
## 默认已用空密码登录
Securing the MySQL server deployment.
Connecting to MySQL using a blank password.##是否安装密码强度验证模块,看自己需求
VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?
Press y|Y for Yes, any other key for No: no## 设置root的密码
Please set the password for root here.
New password:
Re-enter new password:## 是否删除匿名用户,可删
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.## 默认情况下只允许本机访问,是否开启远程访问,按自己需求
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Success.## 是否删除测试数据库,可删
By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y- Dropping test database...
Success.- Removing privileges on test database...
Success.## 是否立即重新加载刚才的配置,选择是
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.
## 配置完毕
All done!

6.6.输入exit退出数据库

在这里插入图片描述

6.7.修改openresty配置文件并重启

vi /usr/local/openresty/nginx/conf/nginx.confsystemctl restart openresty

在这里插入图片描述

在这里插入图片描述

6.8.防火墙放行8080端口

//放行8080端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
//使能防火墙生效 
firewall-cmd --reload
//查看是否生效
firewall-cmd --list-ports

6.9.确保服务启动

systemctl status php74-php-fpmsystemctl status openrestysystemctl status mysqld

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.10.FastCGI sent in stderr: “Primary script unknown” while reading response header from upstream

权限不足停用selinux

# 查看状态
sestatus# 如果查看不是disabled状态,我们可以通过修改配置文件来进行设置,修改SELINUX=disabled,然后重启下系统即可生效。
vim /etc/selinux/config# 重启系统
reboot

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

6.11.打开浏览器,访问http://<ECS公网IP>:8080

http://192.168.229.141:8080/

在这里插入图片描述

6.12.博客页面进行相关设置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

七、安装typecho博客

7.1.创建文件夹管理并下载

typecho博客官网下载:https://typecho.org/download

mkdir -p /typechocd typechowget https://github.com/typecho/typecho/releases/latest/download/typecho.zipunzip typecho.zipchmod -R 777 /typecho	# 直接给 typecho 目录及子文件赋予所有权限,防止安装时出现其他问题

在这里插入图片描述
在这里插入图片描述

7.2.修改openresty配置文件

vi /usr/local/openresty/nginx/conf/nginx.confsystemctl reload openresty
server {listen 8081;server_name localhost;location / {#修改html路径为解压博客文件路径root /typecho;# 添加index.phpindex index.php index.html;}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000location ~ .*\.php(\/.*)*$  {root /typecho;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;fastcgi_pass  127.0.0.1:9000;include fastcgi_params;}}

在这里插入图片描述

7.3.创建数据库typecho

# 进入数据库
mysql -u root -p
自己的密码# 创建数据库
create database typecho;

在这里插入图片描述

7.4.打开浏览器,访问http://<ECS公网IP>:8081

http://192.168.229.141:8081/

在这里插入图片描述

7.5.博客页面进行相关设置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.6.Typecho点击前台链接或者后台登录时出现404的解决方法

官方给的解决方式是nginx.conf 里的 location 设置成这样

location ~ .*\.php$

要支持 pathinfo,需要改成

location ~ .*\.php(\/.*)*$
#location ~ [^/]\.php(/|$)

在这里插入图片描述
在这里插入图片描述

7.7.配置Joe主题

Joe主题网站:https://github.com/HaoOuBa/Joe.git

https://github.com/HaoOuBa/Joe.git

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

7.8.关闭【Bye Bye】

systemctl stop openrestysystemctl stop php74-php-fpmsystemctl stop mysqld# 关机
shutdown now

endl

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/655426.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

EasyExcel通用导入 | 简单封装

0. 前言&#xff1a;1. 基本思路&#xff1a;2. 调用代码&#xff1a; 0. 前言&#xff1a; 之前做了好几个导入&#xff0c;用EasyExcel每次都要定义监听器去处理&#xff0c;就想能不能做个通用的方式&#xff0c;如下 1. 基本思路&#xff1a; 导入无非主要就是参数校验和数…

人脸识别技术在网络安全中有哪些应用前景?

人脸识别技术在网络安全中有广泛的应用前景。以下是一些主要的应用方向&#xff1a; 1. 身份验证和访问控制&#xff1a;人脸识别可以用作一种更安全和方便的身份验证方法。通过将用户的人脸与事先注册的人脸进行比对&#xff0c;可以实现强大的身份验证&#xff0c;避免了传统…

第九节HarmonyOS 常用基础组件14-DataPanel

1、描述 数据面板组件&#xff0c;用于将多个数据占比情况使用占比图进行展示。 2、接口 DataPanel(options:{values: number[], max?: numner, type?: DataPanelType}) 3、参数 参数名 参数类型 必填 描述 values number[] 是 数据值列表&#xff0c;最多含9条数…

【云原生】docker-compose单机容器集群编排工具

目录 一、docker-compose容器编排的简介 二、docker-compose的使用 1、docker-compose的安装 2、docker-compose的配置模板文件yaml文件的编写 &#xff08;1&#xff09;布尔值类型 &#xff08;2&#xff09;字符串类型 &#xff08;3&#xff09;一个key有多个值 &am…

WebGL 入门:开启三维网页图形的新篇章(下)

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

SQL报错注入

君衍. 一、sqllabs第五关报错注入updatexml报错注入原理及思路 二、常见的报错函数三、floor报错注入原理1、概念2、函数回顾2.1 rand函数2.2 floor(rand(0)*2)函数2.3 group by函数2.4 count(*)函数2.5 函数综合报错 3、报错分析4、总结 一、sqllabs第五关报错注入 之前我在这…

spring-bus消息总线的使用

文章目录 依赖bus应用接口用到的封装参数类 接收的应用监听器定义的事件类 使用bus定义bus远程调用A应用数据更新后通过bus数据同步给B应用 依赖 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bus-amqp…

路由、组件目录存放

文章目录 单页应用程序&#xff1a;SPA- Single Page Application路由的介绍VuePouter的介绍VueRouted 的使用 组件目录存放问题&#xff08;组件分类&#xff09; 单页应用程序&#xff1a;SPA- Single Page Application 单页应用&#xff08;SPA&#xff09;:所有功能在一个…

动手学RAG:汽车知识问答

原文&#xff1a;动手学RAG&#xff1a;汽车知识问答 - 知乎 Part1 内容介绍 在自然语言处理领域&#xff0c;大型语言模型&#xff08;LLM&#xff09;如GPT-3、BERT等已经取得了显著的进展&#xff0c;它们能够生成连贯、自然的文本&#xff0c;回答问题&#xff0c;并执行…

Redis 面试题 | 20.精选Redis高频面试题

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

ctfshow web72

下载源码&#xff1a; 开启环境&#xff1a; 本题设置了 open_basedir()&#xff0c;将php所能打开的文件限制在指定的目录树中&#xff0c;包括文件本身。 因为 ini_set() 也被限制了&#xff0c;所以 open_basedir() 不能用 ini_set() 重新设置绕过。 使用 php 伪协议 glob:…

上海亚商投顾:创业板指创调整新低,全市场超4800只个股下跌

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 沪指昨日震荡调整&#xff0c;创业板指午后跌超3%&#xff0c;深成指跌超2%&#xff0c;北证50指数跌逾6%。中…

msfconsole实战使用(结合靶场演示)

msfconsole实战使用 前言 MSFconsole&#xff08;Metasploit Framework Console&#xff09;是Metasploit框架的一部分&#xff0c;是一个功能强大的渗透测试工具。Metasploit框架是一个开源的安全工具&#xff0c;旨在开发、测试和执行针对计算机系统的攻击。MSFconsole是Me…

【Java IO 源码详解】: InputStream

本文主要从JDK 11 源码角度分析InputStream。 Java IO - 源码: InputStream InputStream 类实现关系InputStream 抽象类源码实现InputStreamFilterInputStreamByteArrayInputStreamBufferedInputStream 参考文章 InputStream 类实现关系 InputStream是输入字节流&#xff0c;具…

LabVIEW机械臂轨迹跟踪控制

介绍了一个使用LabVIEW开发的机械臂轨迹跟踪控制系统。该系统的主要目标是实现对机械臂运动轨迹的精确控制&#xff0c;使其能够按照预定路径进行精确移动。此系统特别适用于需要高精度位置控制的场合&#xff0c;如自动化装配、精密操作等。 为了实现LabVIEW环境下的机械臂轨迹…

【SpringBoot3】集成Knife4j、springdoc-openapi作为接口文档

一、什么是springdoc-openapi Springdoc-openapi 是一个用于生成 OpenAPI&#xff08;之前称为 Swagger&#xff09;文档的库&#xff0c;专为 Spring Boot 应用程序设计。它可以根据你的 Spring MVC 控制器、REST 控制器和其他 Spring Bean 自动生成 OpenAPI 文档&#xff0c…

ElasticSearch重建/创建/删除索引操作 - 第501篇

历史文章&#xff08;文章累计500&#xff09; 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《国内最全的Spring Boot系列之三》 《国内最全的Spring Boot系列之四》 《国内最全的Spring Boot系列之五》 《国内最全的Spring Boot系列之六》 E…

解决InputStream流无法重复使用的问题

一.需求 现在有个需求&#xff0c;要通过InputStream流先去判断文件类型&#xff0c;然后再上传文件&#xff0c;这样就会用到两次InputStream。 二.问题 这个功能之前的同事已经做了一版&#xff0c;一直以为是正常的&#xff0c;毕竟都很久了&#xff0c;但是我用的时候发…

自然语言处理 TF-IDF

✅作者简介&#xff1a;人工智能专业本科在读&#xff0c;喜欢计算机与编程&#xff0c;写博客记录自己的学习历程。 &#x1f34e;个人主页&#xff1a;小嗷犬的个人主页 &#x1f34a;个人网站&#xff1a;小嗷犬的技术小站 &#x1f96d;个人信条&#xff1a;为天地立心&…

Cesium 问题:遇到加载Cesium时各组件飞出

致敬爱的读者&#xff1a;该问题出现后暂时未找到最优的解决方案&#xff0c;而是将所有组件状态均进行隐藏&#xff0c;大家如果有解决方案可以留言、评论大家一起探讨解决&#xff0c;欢迎大家踊跃说出自己的想法 文章目录 问题分析 问题 在加载 Cesium 时出现各组件的位置不…