LAMP-web平台搭建(Linux+apache+mysql+php)

2023-10-26

一、介绍

apache:实现网页共享传输
MySQL:数据存储
PHP:实现页面解析

浏览器仅能解析简单的HTML语言,无法直接解析PHP语言。

二、部署方式

yum 安装

优点:安装部署便捷,快速。
缺点:软件版本固定,且版本较低。

源码安装:

优点:版本可自选,可自定义性强。
缺点:难度大,维护相对困难。

三、环境准备

环境

关闭SELinux和防火墙

安装编译工具gcc、gcc-c++、make等。

yum -y install gcc gcc-c++ make

四、编译安装

1.LAMP依赖

apache
apr和apr-util
pcre
mysql
ncurses
bison和cmake
PHP
openssl和memcache
freetype
mcrypt
libmcrypt+ltdl
mhash
zlib
libpng
jpg和jpeg
...

PHP并不是完全依赖这些包,而实通过这些包才能提供一些功能
所以需要先安装这些包

注:每个源码包安装完成后,确认安装目录下是否生成安装文件(并确定目录是否正确)

注:建议将安装包路径指定为[–prefix = /usr/local/软件名]这种格式

2.安装libxml2

libxml2是一个xml c语言版的解析器,本来是为Gnome项目开发的工具,是一个基于MIT license的免费开源软件。它除了支持C语言版以外,还支持c+±php、pascal、Ruky、Tcl等语言的绑定,能在windows、Linux、Solaris、macOSX等平台上运行,因为很多软件配置文件都是以xml来写的,不安装xml解析器无法读取,读写解析。

安装两个依赖包
yum -y install libxml2-devel python-devel
在这里插入图片描述

进入源码包中./configure --prefix=/usr/local/libxml2/
在这里插入图片描述
检查依赖关系,编译工具,指定安装功能,指定路径等,./configure是编译前准备工具。

确定是否configure成功
在这里插入图片描述
为0则表示刚刚的操作是成功的。

make
在这里插入图片描述
make是将源码包转化为二进制,make转化内容和结果受configure的影响

make install
在这里插入图片描述
将make所产生的二进制文件,按照./configure指定的路径去进行粘贴复制。权限修改,制作链接等。

确认是否安装成功
在这里插入图片描述
查看有没有prifix的目录即可。

3.安装libmcrypt

libmcrypt是加密算法扩展库。支持DES、3DES、RIGNDAEL、Twofish、IDEA、GOST、cast-256、ARCFOUR、SERPENT、SAFER+等算法

同样步骤,解压源码包,进入解压出来的目录
cd libmcrypt
./configure --prefix=/usr/local/libmcrypt/
make
make install

注意,这里同样安装libltdl,同样在Libmcrypt源码包目录中。
cd /libmcrypt-x.x.x/libltdl
./configure --enable-ltdl-install
这里的意思是安装并开启此功能
make
make install

4.安装mhash

mhash是基于离散数学原理的不可逆向的PHP加密方式扩展库,其默认情况下不开启。mhash可以用于创建校验数值,消息摘要,消息认证码,以及无需原文的关键信息保存,如保存密码等。

同样步骤
解压源码包
进入解压源码目录
,/configure
这里不指定安装目录,默认即可。
make
make install

5.安装mcrypt

mcrypt是PHP里面最重要的加密支持扩展库,mcrypt库支持20多种加密算法和8中加密模式

export LD_LIBRARY_PATH=/usr/locoal/libmcrypt/lib:/usr/local/lib
这是添加了一个环境变量,这个变量用于指定libmcrypt和mhash库的位置
在这里插入图片描述
随后再进行编译安装
./config --with-libmcrypt-prefix=/usr/local/libmcrypt
依托于libmcrypt安装包的意思
在这里插入图片描述

如果./configure报错
在这里插入图片描述
报错这个,就是export加的环境变量中给的地址不对,我刚才加的环境变量就有地址错误,所以我重新export一次就好了。

make
make install

6.安装zlib

zlib提供数据库压缩用的函数库,由Jean-loup Gailly与Mark Adler所开发,初版0.9在1995年5月1日发表。zlib使用deflate算法,最初是libpng函数库所写,后来普遍为许多软件所使用,此函数库为自由软件,使用zlib授权

安装方式一致
cd /zlib-x.x.x
./configure
不指定安装路径了
不过需要注意,zlib安装需要修改配置文件,否则无法正常安装。
vim Makefile
在这里插入图片描述
找到这行,再最后加入-fPIC,最后最好就一个空格,以前是版本由问题,32位就不用加,64位需要加。
:wq保存退出
make
make install

7.安装libpng

libpng软件包包含libpng库,这些库被其他程序用于解码png图片

cd /libpng
./configure --prefix=/usr/local/libpng/
make
make install

8.安装jpeg6

jpeg提供用于解码.jpg和.jpeg图片的库文件。
mkdir /usr/local/jpeg6
mkdir /usr/local/jpeg6/lib
mkdir /usr/local/jpeg6/bin
mkdir /usr/local/jpeg6/include
mkdir -p /usr/local/jpeg6man/man1
此软件不会默认自动创建所需目录,需要手动建立
yum -y install libtool*
cd /jpeg-x.x.x
cp -a /usr/share/libtool/config/config.sub ./
cp -a /usr/share/libtool/config/config.guess ./
jpeg本身由config.sub和config.guess,但是在64位系统中并不好用,所以我们这里用libtool里的。
./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
指定目录并开启共享库和静态库
make
make install

9.安装freetype

freetype库是一个完全免费的,高质量的可移植的字体引擎,它提供统一接口来访的多种字体格式文件,支持单色图,反走样位图的渲染。

cd /freetype
./configure --prefix=/usr/local/freetype/
make
make install

10.安装apache

源码包2.4.*版本中默认没有集成apr的依赖包,所以需要提前解决依赖问题
解压apr和apr-util源码包
直接整包复制到httpd源码包中
cp -a apr-1.7.0 httpd-2.4.46/srclib/apr
cp -a apr-util-1.6.1 httpd-2.4.46/srclib/apr-util
复制整个目录并取消版本号到httpd的/srclib下面,./configure回检测

apache默认需要依赖pcre软件,但由于apache软件版本较高,系统预安装的pcre无法使用,需认为手动安装合适版本
cd /pcre-8.x.x
./configure
make
make install

apache加密传输模块mod_ssl,需安装此软件
yum -y install openssl-devel

安装httpd
cd httpd-x.x.x
./configure --prefix=/usr/local/apache --sysconfdir=/usr/local/apache/etc --with-included-arp --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-ssl
在这里插入图片描述
sysconfdir是指定apache配置文件位置,不指定默认在conf目录下, 建议指定。
–with-included-arp指定arp
–enable-so,启用函数文件
–enable-deflate=shared,开启共享库
–enable-ssl,开启ssl模块
–enable-rewrite=shared,开启apache地址重写充能
make
make install

注意:若前面配置zlib时没有指定安装目录,apache配置时不要添加–with-z=/usr/local/zlib参数,–enable-ssl是为了实现https提前设置的参数。

注意:如果报错:xml/apr_xml.c:35:19: fatal error: expat.h: No such file or directory
yum -y install expat-devel,安装expat-devel即可。

启动apache测试即可
/usr/local/apache/bin/apachectl start

报错提示:
httpd: Could not open configuration file /usr/apache/etc/httpd.conf: No such file or director
说明配置文件地址不对,可以启动脚本指定配置文件位置
./bin/apachectl -f /usr/local/apache/etc/httpd.conf -k start

报错提示:
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
这是没有指定端口和地址
打开配置文件httpd.conf
搜索ServerName(大约200行左右)
改为ServerName localhost:80,如果有注释就去掉注释
在这里插入图片描述

验证程序是否成功运行
pa aux | grep httpd
在这里插入图片描述

验证端口是否开启使用
netstat -antp
在这里插入图片描述

浏览器访问验证:
http://服务器IP
在这里插入图片描述
显示这样就是apache在正常工作

/usr/local/httpd/bin/apachectl -t
可以检查配置文件httpd.conf的语法错误

11.安装ncurses(MYSQL)

ncurses提供一个字符终端处理库,包括面板和菜单。它提供了以涛控制光标,建立窗口,改变前景颜色以及处理鼠标操作的函数,使用户在字符终端下编写应用程序时先过了那些恼人的底层机制。简而言之,他是一个可以使应用程序直接控制终端屏幕现实的函数库。

yum -y install ncurses-devel
ncurses的依赖包
cd /ncurses-x.x
./configure --with-shared --without-debug --without-ada --enable-overwrite
make && make install
这里使make后马上make install的意思。
不安装ncurses,编译MySQL会报错。

12.安装cmake

MySQL在5.5以后,不再使用./configure工具,而实使用cmake工具进行编译安装。bison是一个自由软件,用户自动生成语法分析器程序,可用于所有常见系统。

我们这里直接yum就行
yum -y install cmake bison

13.安装MySQL

useradd -r -s /sbin/nologin mysql
创建一个mysql系统用户,不登陆。只为了运行mysql
cd /mysql-x.x.x
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DEXTRA_CHARASETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_USER=mysql -DMYSQL_TCP_PORT=3306
make
make install

cmake选项详解
-DCMAKE_INSTALL_PREFIX=/use/local/mysql
指定安装位置
-DMYSQL_UNIX_ADDR=/tmp/mysql.scok
指定mysql的socket套接字文件位置
-DEXTAR_CHARSET=all
扩展字符支持
DDEFAULT_CHARSET=utf8
默认字符集
DDEFAULT_COLLATION=utf8_general_ci
默认字符校对
DWITH_MYISAM_STORAGE_ENGINE=1
安装myisam存储引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1
安装innodb存储引擎
-DWITH_MEMORY_STOAGE_ENGINE=1
安装memory存储引擎
-DWITH_READLINE=1
支持readline库
-DENABLED_LOCAL_INFILE=1
启用加载本地数据
-DMYSQL_USER=mysql
指定mysql运行用户
-DMYSQL_TCP_PORT=3306
指定mysql端口

注意:MySQL安装后需调整相应参数才能运行

a.修改MySQL目录的用户归属
cd /usr/local/mysql/
chown -R root .
chown -R mysql data

b.生成配置文件,并初始化授权表
cp -a /lamp/mysql-x.x.x/support-files/my-medium.cnf /etc/my.cnf
复制mysql配置文件到指定位置,覆盖掉系统自带文件
cd /usr/local/mysql
./script/mysql_install_db --user=mysql
创建数据库授权表,初始化数据库,相当于安装完操作系统后的引导设置(添加第一个用户)

错误提示:FATAL ERROR:could not find./bin/my_print_default
mysql_install_db初始化调用的文件是相对路径,路径不在/usr/local/mysql时,无法调用my_print_default文件并初始化成功的。

c.启动MySQL服务
用原本的源代码方式去使用和启动mysql
/usr/local/mysql/bin/mysqld_safe --user=mysql &
启动并用mysql用户后台运行mysql

d.设定MySQL密码
/usr/local/mysql/bin/mysqladmin -u root -password lrq3547
如果报错则直接登录MySQL改密码,这时候是没有密码的状态
#/usr/local/mysql/bin/mysql -u root -p
mysql> use mysql;
mysql> GRANT ALL PRIVILEGES ON . TO root@“%” IDENTIFIED BY “123456”;
mysql> update user set Password = password(‘123456’) where User=‘root’;
mysql> flush privileges;
mysql> exit;

e.测试登录MySQL
/usr/local/mysql/bin/mysql -u root -p

14.安装PHP

cd /php-x.x.x
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc/ --with-apx52=/usr/local/apache/bin/apxs --with-libxml-dir=/usr/local/libxml2/ --with-jpeg-dir=/usr/local/jpeg6/ --with-png-dir=/usr/local/libpng/ --with-freetype-dir=/usr/local/freetype/ --with-mcrypt=/usr/local/libmcrypt --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring=all --enable-soap --enable-sockerts --with-pdo-mysql=/usr/local/mysql --with-gd --without-pear
make
make install

错误提示:遇到缺失 No package ‘sqlite3’ found
yum -y install sqlite-devel

错误提示:出现No package ‘oniguruma‘ found
在’–enable-mbstring’参数后添加’–disable-mbregex’参数,意为不使用mbstring的正则功能,不再需要oniguruma库。
或者使用源码安装oniguruma库
./configure --prefix=/usr --libdir=/lib64

选项解析
–with-xxx-dir=…
指定开启支持的依赖包位置
–with-mbstring=all
支持多字节,支付穿
–with-gd
启用gd库
–with-pdo-mysql=/…
启动mysql的pdo模块支持
–enable-soap
支持soap服务
–with-pear
不安装pear(安装pear需联网)
–enable-sockets
支持套接字

PHP安装后需要调整相应配置文件和参数才能正常运行

a.生成PHP配置文件
mkdir /usr/local/php/etc
目录原本不存在
cp /usr/lamp/php-7.x.x/php.ini-production /usr/local/php/etc/php.ini

b.修改apache配置文件,使其识别*.php文件,并能通过php模块调用php进行页面解析
vim /usr/local/apache/etc/httpd.conf
添加以下两句
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
在这里插入图片描述
重启apache
/usr/local/apache/bin/apachectl restart

c.测试php网页是否能够正常解析(apache和php连通性)
vim /usr/local/apache/htdocs/test.php

<?php
phpinfo();
?>

通过浏览器访问:http://apache服务器地址/test.php

15.为PHP安装openssl模块

模块需通过PHP本身使用,所以后安装。

openssl是一个强大的安全套接字层密码库,囊括主要的密码算法,常用的密钥和证书封装管理功能及ssl协议,并提供丰富的应用程序供测试或其他目的使用。
cd /php-x.x.x/ext/openssl
mv config0.m4 config.m4
/usr/local/php/bin/phpize
./configure --with-openssl --with-php-config=/usr/local/php/bin/php-config
make
make install

16.为PHP安装memcache模块

memcache是一个高性能的分布式内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单说来就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。

我这里是zip包,所以用unzip解包
unzip pecl-memcache-phpx.zip
cd pecl-memcache-phpx.x
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install

17.修改php配置文件,使其识别并调用openssl和memcache两个模块。

vim /usr/local/php/etc/php.ini

extension_dir = “/usr/local/php/lib/php/extensions/no-debug-zts-20151012/”
取消注释,并添加以上目录(此路径来自模块安装命令的结果),此目录在make install完之后有提示
extension = “openssl.so”;
extension = “memcache.so”;
添加以上两个库的调用

重启apache,刷新phpinfo页面,并查看是否有两个新增模块。

18.安装memcache服务

安装了memcache模块,但是本身软件是没有安装的,而openssl是默认安装的。
yum -y install libevent-devel
先安装依赖
cd /memcachedx.x.x
./configure --prefix=/usr/local/memcached
make
make install

useradd -r -s /sbin/nologin memcache
添加用户,用作运行memcache服务
/usr/local/memcached/bin/memcached -u memcached &
启动服务,后台运行 -u指定用户

netstat anpt | grep 11211
检查端口是否开启,并监听11211端口

19.安装phpMyadmin(能成功就完成)

phpMyAdmin是一个以PHP为基础,以web-Base方式架构在网站主机上的MySQL数据库管理工具,让管理者可用web接口管理MySQL数据库
cp -a /phpMyAdmin -x.x /usr/local/apache/htdocs/phpmyadmin
cd /usr/local/apache/htdocs/phpmyadmin
ap -a config.sample.inc.php config.inc.php
vim config.inc.php

$cfg['Server'][$i]['auth_type'] = 'cookie';
$cfg['Server'][$i]['auth_type'] = 'http';
设置auth_type为http,即设置HTTP身份认证模式(新增即可)

http://apache服务器地址/phpmyadmin/index.php 用户名密码为数据库账号密码

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LAMP-web平台搭建(Linux+apache+mysql+php) 的相关文章

  • 在 MySQL 中插入时检查并防止相似字符串

    简要信息 我有3张桌子 Set id name SetItem set id item id position TempSet id 我有一个函数可以生成新的随机组合Item桌子 基本上 总是在成功生成之后 我在中创建一个新行Set表 获取
  • 在 laravel 中禁用特定路由的 csrf

    我有一个支付系统 数据被提交到第三方网站然后被拉回 当数据返回时 它会到达特定的 url 比如 ok 路由 REQUEST transaction 但由于 Laravel 中间件 我遇到了令牌不匹配的情况 第三方支付API无法生成token
  • Apache 反向代理的基本身份验证问题

    我想为在 Ubuntu 服务器 12 04 1 上运行的 Apache 反向代理站点添加基本身份验证 网络应用程序是Jenkins http jenkins ci org运行在 Java EE 容器上 我在中添加了以下配置httpd con
  • 使用 Java 的 Apache Http 摘要身份验证

    我目前正在开发一个 Java 项目 但无法使 http 摘要身份验证正常工作 我尝试使用 Apache 网站 但没有帮助 我有一个需要 HTTP 摘要身份验证的网站 DefaultHttpClient httpclient new Defa
  • 将具有值的产品属性添加到 Woocommerce 中的产品

    我正在使用此代码添加自定义属性 attributes array array name gt Size options gt array S L XL XXL position gt 1 visible gt 1 variation gt
  • PHP中的反转数组

    array 7 0 gt array 2 id gt string 1 9 roi gt float 0 1 gt array 2 id gt string 1 1 roi gt float 0 2 gt array 2 id gt str
  • 数据库级别的别名列名 [MySQL]

    别名 可能是错误的词 因为它是在将列 表名称作为查询中的其他名称引用的上下文中使用的 我感兴趣的是是否有一种方法可以在数据库中为列指定两个名称 如果我要打印这样的表格 它看起来会是这样的 mysql gt SELECT FROM User
  • Python 的 mysqldb 晦涩文档

    Python 模块 mysqldb 中有许多转义函数 我不理解它们的文档 而且我努力查找它们也没有发现任何结果 gt gt gt print mysql escape doc escape obj dict escape any speci
  • 为什么 PHPUnit 将一些右大括号显示为未被覆盖?

    我正在使用 PHPUnit 3 6 7 PHP CodeCoverage 1 1 1 和 Xdebug 2 1 2 当我让 PHPUnit 将代码覆盖率统计信息写入 clover 样式的 XML 文件时 它偶尔会显示一个右花括号 表示测试未
  • 如何在之前的 Facebook 身份验证后自动安全地让用户登录?

    用户抱怨他们必须过于频繁地登录 如果身份验证完全基于 Facebook OAuth 那么用户如何在下次访问该页面时自动登录 用户流程示例 用户点击 使用 Facebook 登录 用户通过 Facebook 进行身份验证并被重定向回网站 用户
  • PHP MVC 应用程序中哪里可以捕获异常?

    我有一个中小型 PHP 应用程序 用于练习 OOP 和 MVC 技能 我有初始化 引导程序调用的文件Router谁打电话控制器 gt 服务层 gt 存储库 数据库 然后将变量发送回视图层 所有依赖项均由 DiC IOC 处理 我创建抽象类
  • 将二进制数据从 C# 上传到 PHP

    我想将文件从 Windows C 应用程序上传到运行 PHP 的 Web 服务器 我知道 WebClient UploadFile 方法 但我希望能够分块上传文件 以便我可以监控进度并能够暂停 恢复 因此 我正在读取文件的一部分并使用 We
  • Doctrine2:入门教程“没有要处理的元数据类”

    我已经将本教程的第一部分运行了三遍 到目前为止 在这里或其他地方进行的大量搜索都无法帮助我使其发挥作用 我收到 没有要处理的元数据类 当我尝试时 php vendor bin doctrine orm schema tool update
  • Laravel 意外错误“类用户包含 3 个抽象方法...”

    在 Laravel 上编写我的身份验证应用程序时 我遇到了一个以前从未见过的错误 我已经集思广益了近一个小时来解决这个问题的原因 但仍然找不到解决方案 Error User 类包含 3 个抽象方法 因此必须声明为抽象方法或实现其余方法 Il
  • 从关系中合并 Laravel 中的集合

    假设我有 3 张桌子 Images Subject Style 关系是多对多 图像 主题 和多对多 图像 样式 现在我想做一些类似的事情 result subjectResult gt images gt merge styleResult
  • 更新 SQLAlchemy 中的特定行

    我将 SQLAlchemy 与 python 一起使用 我想更新表中等于此查询的特定行 UPDATE User SET name user WHERE id 3 我通过 sql alchemy 编写了这段代码 但它不起作用 session
  • 为什么 LinkedIn v2 Share API 在任何 v2/shares 端点上给出权限不足的错误?

    当我调用任何 v2 LinkedIn 共享 API 端点时 例如https api linkedin com v2 socialActions https api linkedin com v2 socialActions share UR
  • 简单的颜色变化

    我正在创建一个用户界面 用户可以在其中更改页面的颜色值 我想要的是获取分配给其背景颜色的值并将其变亮一定程度 我只是想获得一条亮点线 而不必每次都制作新图像 示例 用户将背景颜色设置为 ECECEC 现在我希望某个元素边框变成 F4F4F4
  • preg_match 所有以@开头的单词?

    我对正则表达式不太确定 所以我不得不问你 如何用 PHP 判断字符串中是否包含以 开头的单词 例如我有一个像 This is for codeworxx 这样的字符串 我很抱歉 但我没有任何起点 希望你能帮忙 谢谢 萨沙 好的 谢谢你的结果
  • 使用 SERVER_NAME 时出现 Flask 404

    在我的 Flask 配置中 我将 SERVER NAME 设置为 app example com 之类的域 我这样做是因为我需要使用url for with external网址 如果未设置 SERVER NAME Flask 会认为服务器

随机推荐

  • 组成原理---中断

    文章目录 中断的基本概念 中断请求与判优 中断响应 中断服务与返回 中断系统是计算机中实现中断功能的软 硬件总称 一般在 CPU 中配置中断机构 在外设接口中配置中断控制器 在软件上设计相应的中断初始化程序和中断服务程序 中断的基本概念 在
  • python从入门到精通 第一节 数据类型

    Python 中的变量不需要声明 每个变量在使用前都必须赋值 变量赋值以后该变量才会被创建 在 Python 中 变量就是变量 它没有类型 我们所说的 类型 是变量所指的内存中对象的类型 等号 用来给变量赋值 等号 运算符左边是一个变量名
  • 分布式锁的实现与应用

    为什么需要锁 在多任务环境下解决并发场景的数据竞争问题 Java常见锁 我们可以根据锁是否包含某一特性来进行分组归类 从线程是否对资源加锁 可以将锁分为乐观锁和悲观锁 从资源已被锁定时 线程是否阻塞 可以分为自旋锁 JUC下的atomic家
  • react实现计数器

    var In display gt div display div var Btn click gt
  • 同页面javascript中文参数传递

    修改前
  • VMware Workstation 14 Pro 安装 Windows Server 2003(完)

    一 下载镜像文件 Windows Server 2003有多种版本 每种都适合不同的商业需求 Windows Server 2003 Web Edition WindowsServer2003Web版 用于构建和存放Web应用程序 网页和X
  • Python入门的20个基础练习

    01 Hello World python的语法逻辑完全靠缩进 建议缩进4个空格 如果是顶级代码 那么必须顶格书写 哪怕只有一个空格也会有语法错误 下面示例中 满足if条件要输出两行内容 这两行内容必须都缩进 而且具有相同的缩进级别 pri
  • sqli - labs - Less 17

    我们先来看看源码 这里我们可以看到 首先进行上传数据的判断 但是 uname是通过上面的check input函数进行相关过滤所以用户名必须要正确 密码可以忽略 所以本关在密码这里找到突破口 可以看出在得到row变量之后 如果不为空 代码将
  • STM32跳至硬件错误中断(HardFault_Handle)

    1 遇到错误问题是数据类型不对 导致该步骤永远不能执行到 跳至硬件错误中断 所以硬件中断可尝试查找数据类型错误 2 堆栈设置错误也会跳至hardwarefault 3 如果上电后 在调试时 执行单步 会在不确定位置的地方产生HardFaul
  • 基于OpenCV的手势识别完整项目(Python3.7)

    这是我的本科毕设题目 刚开始接触机器学习这方面 感谢CSDN和GitHub上的大佬 网上类似项目很多 方法也有很多 自己顺带进行了整理 边做毕设边分享一下自己学习心得吧 也算是梳理一下所学知识 各大佬有什么好的建议还请指出 不吝赐教 项目简
  • Qt的槽函数崩溃问题

    当Qt的槽函数是一个lambda表达式时 如果传入的方法为引用传递 而你又在lambda表达式里使用了外面定义的stl或类 那么就会崩溃 这是因为Qt的槽函数是一个轮询的过程 第一次你进入这个表达式结束时会进行一次自动析构 第二次进入这个l
  • linux删除文件后没有释放空间

    系统 centos 7 现象 早上收到阿里云短信 发现一台服务器的磁盘空间使用率达到90 昨天晚上已经加了定时任务 难道没有啥用 无奈的我打开电脑 解决 由于已经解决 当时没有截图 查看磁盘空间 df h 找到对应文件 进行删除 rm fi
  • yaml文件的读写

    官方使用文档 https yaml cpp docsforge com 写入 include
  • addr2line命令

    在Linux下写C C 程序的程序员 时常与Core Dump相见 在内存越界访问 收到不能处理的信号 除零等错误出现时 我们精心或不精心写就的程序就直接一命呜呼了 Core Dump是Linux仁慈地留下的程序的尸体 帮助程序员们解决了一
  • Layout Object Tree 创建

    站在老罗的肩膀上 https blog csdn net luoshengyang article details 50615628 每一个HTML标签在DOM Tree中都有一个对应的HTMLElement节点 相应地 在DOM Tree
  • java集合框架--集合接口

    java 集合框架使程序处理集合数组的方法标准化 集合框架包含了一组标准的接口 对这些接口 提供了几个标准的实现工具 LinkedList HashSet 和 TreeSet 集合接口 接口 描述 Collection 集合框架的顶层接口
  • JAVA中sort()函数的使用方法的个人总结

    1 sort 函数的基本格式 默认排序为升序排序 Arrays sort int a int fromIndex int toIndex Arrays sort 数组名 起始下标 终止下标 一个简单的排序例子 import java uti
  • PCB绘制常用规范

    PCB包含四个文件 原理图 原理图库 封装库文件 PCB文件 首先新建一个PCB工程 File gt New gt Project gt PCBProject 1 原理图文件 name SchDoc File gt new gt Schma
  • Python自动化测试实战篇(3)优化unittest批量自动化接口测试代码,ddt驱动+yaml实现用例调用,输出HTMLTestRunner测试报告

    这些是之前的文章 里面有一些基础的知识点在前面由于前面已经有写过 所以这一篇就不再详细对之前的内容进行描述 Python自动化测试实战篇 1 读取xlsx中账户密码 unittest框架实现通过requests接口post登录网站请求 JS
  • LAMP-web平台搭建(Linux+apache+mysql+php)

    一 介绍 apache 实现网页共享传输 MySQL 数据存储 PHP 实现页面解析 浏览器仅能解析简单的HTML语言 无法直接解析PHP语言 二 部署方式 yum 安装 优点 安装部署便捷 快速 缺点 软件版本固定 且版本较低 源码安装