centos7.9编译安装swoole 4.8.9

//下载源码包  (如链接失效请自行去官网寻找)
wget -c https://github.com/swoole/swoole-src/archive/refs/tags/v4.8.9.tar.gz
//解压
tar -zvxf v4.8.9tar.gz
//进入目录
cd swoole-src-4.8.9
//生成configure 文件
phpize

如果你phpize 没有用的话,那估计是你php安装目录里面的phpize 没有做软链接到/usr/bin/phpize,请找到php“安装目录”的phpize 在那个位置,不是安装包的位置噢!

find / -name phpize
//我得到的结果如下,但每个人PHP安装的地址可能不一样,你可以直接在swoole安装包运行系列代码


/usr/local/php/8.1.4/bin/phpize

//也可以做一个软链接,留着以后安装其他php扩展使用,省得每次输入上面那样一长串路径
ln -s /usr/local/php/8.1.4/bin/phpize /usr/bin/phpize

这样的话以后安装其他php扩展就可以直接使用phpize

接下来配置编译参数,根据自身情况修改–with-php-config的值,改成你自己的php-config位置

./configure --with-php-config=/usr/local/php/8.1.4/bin/php-config --enable-openssl  --enable-http2  --enable-async-redis --enable-sockets --enable-mysqlnd

执行编译和安装

make && make install

因为我们已经配置好了–with-php-config 所以它会自动把swoole.so文件放到我们php安装目录的扩展目录

/usr/local/php/8.1.4/lib/php/extensions/no-debug-non-zts-20210902/swoole.so

这时候我们需要修改php.ini文件把swoole扩展添加进php.ini,不同的安装方式php.ini位置不一样,请自行寻找

vi php.ini

//然后加入
extension=swoole

//保存
wq!

//然后重启php-fpm

这时候你写一个php文件 echo phpinfo(); 打开它,就能发现swoole扩展已经安装成功了。

centos7.9 编译安装php-redis扩展

这个只是php的一个redis操作扩展噢,不是redis。

下载地址

下载php-redis5.3.7
官网 http://pecl.php.net/package/redis
git地址:https://github.com/phpredis/phpredis/archive/refs/tags/5.3.7.tar.gz
官方地址:http://pecl.php.net/get/redis
//下载 
wget -c https://github.com/phpredis/phpredis/archive/refs/tags/5.3.7.tar.gz

//解压
tar -zvxf 5.3.7.tar.gz

//进入目录
cd phpredis-5.3.7

//这时候我们需要生成configure 文件,需要执行phpize  他的地址一般都在php安装目录的bin文件夹下
phpize

//如果生成configure成功,说明你已经建立好了phpize软链接,那么可以直接跳过下列方式一和者方式二的步骤

/**********下列方式二选一***********/

方式一:

如果没有成功,那说明 /usr/bin/phpize 没有做好软链,你需要把你php 安装目录的phpize 软链到/usr/bin/phpize 这样在别的地方也可以直接使用phpize而不用输入一长串地址。

如果你还是不知道你的phpize 位置在哪,可以执行下列命令,来查询该文件位置。

find / -name phpize

这里我们挑选php安装目录里的phpize来做软链

//注意:如果你之前安装php的时候已经把phpize 的全局软链给做好了,那么这一步可以省去
ln -s /usr/local/php/8.1.4/bin/phpize /usr/bin/phpize

然后再次执行

phpize

方式二:

当然你也可以不做软链,直接输入一长串的地址来执行phpize

/usr/local/php/8.1.4/bin/phpize

当我们看到configure 文件后,说明生成成功了

/**********上面方式二选一***********/

执行下列代码

./configure --with-php-config=/usr/local/php/8.1.4/bin/php-config

成功后就会看到/usr/local/php/8.1.4/lib/php/extensions/no-debug-non-zts-20210902/ 下面有一个人redis.so文件了

最后检查php安装目录里面的php.ini 看看有没有打开redis扩展功能

extension=redis

也有可能是直接指定了扩展文件位置

extension=”/usr/local/php/8.1.4/lib/php/extensions/no-debug-non-zts-20210902/redis.so”

这样我们的扩展就安装好了!

centos7.9 编译安装php8.1.4

安装前请确保安装了 libzip 和oniguruma

//安装依赖
yum -y install libtool automake epel-release libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel uuid libuuid-devel gcc bzip2 bzip2-devel gmp-devel  readline-devel libxslt-devel autoconf bison gcc gcc-c++ sqlite-devel
//然后配置用户和组

//创建  www 组 
groupadd www

//新建用户并指定用户组 useradd -g groupname username
useradd -g www www

//下载php 安装包
wget -c https://www.php.net/distributions/php-8.1.4.tar.gz
//解压并进入安装包
tar -zvxf php-8.1.4.tar.gz
cd php-8.1.4

下列编译参数任选其一

编译参数一(推荐)

//这里我们指定了www用户和组 其他的配置参数自行了解
./configure \
--prefix=/usr/local/php/8.1.4 \
--with-config-file-path=/usr/local/php/8.1.4/etc \
--with-config-file-scan-dir=/usr/local/php/8.1.4/etc/conf.d \
--with-fpm-user=www \
--with-fpm-group=www \
--enable-fpm \
--enable-soap \
--with-openssl \
--with-openssl-dir \
--with-zlib \
--with-iconv \
--with-bz2 \
--enable-gd \
--with-jpeg \
--with-freetype \
--with-curl \
--enable-dom \
--with-xml \
--with-zip \
--enable-mbstring \
--enable-pdo \
--with-pdo-mysql \
--with-zlib-dir \
--enable-session \
--enable-shmop \
--enable-simplexml \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--with-xsl \
--enable-mysqlnd \
--with-mysqli \
--without-pear \
--disable-short-tags
继续阅读

centos7.9 编译安装redis 6.2.6

1、基操如下

下载redis 需要其他版本去官网自行下载
wget -c https://download.redis.io/releases/redis-6.2.6.tar.gz

//解压
tar -zvxf redis-6.2.6.tar.gz

//把安装包移动到安装目录,并且重命名为redis
mv redis-6.2.6 /usr/local/redis

//进入安装目录
cd /usr/local/redis
//编译
和安装

make && make install
//进入bin目录

cd /usr/local/bin
//我们可以看到 有redis-server ,redis-cli,redis-benchmark 说明我们安装好了

//这时候你就可以直接启动redis了
./redis-server

//只不过生产环境一般不会这么用,因为他还没有配置好配置文件

2、配置redis

强烈建议挪动 redis 配置文件,这个文件地址请根据你实际情况更改,为了统一管理,我们把配置文件和二进制文件全部放到redis安装文件夹

//创建两个文件夹用来放置配置文件和二进制文件
cd /usr/local/redis
mkdir etc bin

//在安装目录下移动redis.conf 到安装目录刚刚创建的etc文件夹里面
cp redis.conf etc/redis.conf

//复制二进制文件到 /usr/local/redis/bin/ 目录
cp {mkreleasehdr.sh,redis-benchmark,redis-check-aof,redis-check-rdb,redis-cli,redis-server} /usr/local/redis/bin/

//这样你就可以在/usr/local/redis/  这个目录里管理redis 省得到处跑

注意:直接启动redis 它默认是不会后台启动的,那样的话,只能停在当前窗口,什么都做不了所以我们需要设置后台启动功能

//设置后台启动
vi /usr/local/redis/etc/redis.conf

//找到 daemonize 把它的值改为 yes
daemonize yes

//保存
wq!

//最后再次启动redis  并且带上配置文件
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf

//这样我们就可以使redis 后台运行了
//检查redis 状态,发现已经可以了

ps -ef |grep redis
//到这我们的redis 就配置好了

centos7.9 编译安装oniguruma 6.9.7

安装php时 提示 No package ‘oniguruma’ found错误解决方法如下

1、安装依赖

yum install -y gcc gcc-c++ make expat-devel autoconf automake libtool

2、下载源码 更新的版本可以去github 或gitee 寻找https://github.com/kkos/oniguruma/releases

//本次使用版本是6.9.7.1
wget -c https://github.com/kkos/oniguruma/archive/refs/tags/v6.9.7.1.tar.gz

3、解压安装包

tar -zvxf v6.9.7.1.tar.gz
cd oniguruma-6.9.7.1

//目录视情况而定 看它解压出什么目录,你就进什么目录

4、生成configure文件

./autogen.sh

5、预编译环境,这一步比较重要,最好不要少,可以省很多事

//注意:每行最后位置,不要有空格什么的。
./configure --bindir=/usr/sbin/ \
            --sbindir=/usr/sbin/ \
            --libexecdir=/usr/libexec \
            --sysconfdir=/etc/ \
            --localstatedir=/var \
            --libdir=/usr/lib64/  \
            --includedir=/usr/include/ \
            --datarootdir=/usr/share \
            --infodir=/usr/share/info \
            --localedir=/usr/share/locale \
            --mandir=/usr/share/man/ \
            --docdir=/usr/share/doc/oniguruma

//注意: 如果系统是64位的一定要标识--libdir=/usr/lib64/   不指向lib64的话会出问题

6、编译和安装

make && make install


centos7.9编译安装libzip1.8.0

在编译安装php时系统会报 configure: error: Package requirements (libzip >= 0.11 libzip != 1.3.1 libzip != … 这是因为libzip 版本过低 解决方法如下

1、卸载以前的版本 ,没有的话也可以不用卸载

yum remove libzip libzip-devel

2、安装cmake3

yum install -y cmake3
//如果找不到包就选择源码安装

cmake源码安装方法请移步至这里

安装libzip1.8.0

1、去官网下载libzip 想要最新的也可以去https://libzip.org/download/ 或者github寻找

wget -c https://libzip.org/download/libzip-1.8.0.tar.gz

2、解压安装包并创建build目录

tar -zvxf cmake-3.23.0.tar.gz
//进入安装包
cd cmake-3.23.0
//创建build目录
mkdir build && cd build

下列方法 二选一, 不同的路径操作不一样

方法一:(推荐) 毕竟安装到/usr/lib64 很多东西会自动帮你加载关联,可以省事

注意使用cmake .. 的情况是会把libzip 安装到/usr/lib64 请自行了解/usr/local/lib64 和 /usr/lib64 的区别,为了把他安装到/usr/lib64我们选择给他指定目录

//在刚刚建立的build目录中
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
//编译软件
make
//安装软件
make install

//通过命令查看是否生效 二选一
方式1:查单个(推荐)  有的话会提示  -lzip
pkg-config --libs libzip
方式2:列出所有看看有没有libzip
pkg-config --list-all

这样我们就大公告成了

继续阅读

centos7.9 编译安装cmake 3.23.0

1、先检查并卸载老版本

yum remove cmake

2、准备安装好cmake所需的依赖

yum -y install gcc gcc-c++ openssl openssl-devel tar

3、下载源码

官方地址: https://github.com/Kitware/CMake/releases/download/v3.23.0/cmake-3.23.0.tar.gz
git地址:https://github.com/Kitware/CMake/releases/download/v3.23.0/cmake-3.23.0.tar.gz

4.解压并进入安装包

tar -zvxf cmake-3.23.0.tar.gz
cd cmake-3.23.0

5、编译安装两张方式2选一

5.1、安装方法1

分别运行下面三段代码

./bootstrap
//编译
make
//安装
make install
//安装好后 直接运行cmake -version 看看是否成功
//which cmake 或者 find / -name cmake可以查看cmake在哪里
继续阅读

Discuz X3.2和phpcms v9.5.9 相互同步登陆注册退出 详细版

最近闲来无事,打算用discuz 和phpcms 做站,里面涉及到 discuz ,phpcms,ucenter 相互通信的问题,本人做个小教程供大家参考,水平有限,请多包涵^_^。

本次测试使用的是Discuz X3.2,Phpcms v9.5.9和ucenter,因考虑到以后的扩展,所以单独把ucenter独立安装,如果没有其他考虑的话可以不用独立安装ucenter,可直接使用discuz内置的ucenter.

<——————- 此处高手可忽略 start———————–>

安装这3样以后在ucenter 的应用管理内添加phpcms应用

然后

应用类型选择“其他”

应用名称:phpsso           //此处可以自定义

应用的主URL: http://你的域名/phpsso_server    //注意又要多朋友粗心会忘记在域名后加phpsso_server导致通信失败

是否开启同步登陆和是否接受通知全部选“是” 然后提交

你会得到一个通信秘钥,

<——————- 此处高手可忽略 end———————–>

第一步会发先phpcms与ucenter通信失败。

解决方法:登陆phpcms的phpsso——>系统配置——–>UCenter配置

是否启用: 选择“是”

Ucenter api 地址:http://你的域名     //不要带反斜杠 “/”该地址为ucenter的根目录可以根据需求修改,如果你的UCenter 是直接内置discuz里面那么地址为 http://论坛地址/ucenter

其他的数据库主机名,用户名,密码 ,按自己的实际情况正常填写

继续阅读

Centos7.3 新磁盘挂载

本次试验对象为centos 7.3 ,要挂载的磁盘为100G

查看磁盘

fdisk –l

在我的测试环境中找到了一块磁盘编号为/dev/xvdb  的新磁盘

磁盘格式化

磁盘分区

  1. 进入fdisk模式
  2. /sbin/fdisk /dev/xvdb
  3. 输入n进行分区
  4. 输入p选择分区类型为主分区
  5. 输入1选择分区个数为1,
  6. 注意 主分区可以有4个,扩展分区 linux上扩展分区只能有1个,扩展分区创建后不能直接使用,还要在扩展分区上创建逻辑分区。
  7. 选择柱面,这里我们直接回车选默认的就可以了
  8. 输入w保存,

保存后输入

ls –l /dev

就可以看到有个新分区 xvdb1已经建立好了

格式化分区

新分区格式化为ext4文件系统

mkfs -t ext4 /dev/xvdb1

挂载硬盘

选着挂载点,没有的话就自己建立一个

我是挂载在根目录下的www目录所以创建一个www挂载点

mkdir www

然后将/dev/xvdb1 挂载到www下

mount /dev/xvdb1 /www

然后使用df -h查看挂载结果会看到已经挂载成功

df -h

最后一步设置开机自动挂载

编辑/etc/fstab 文件

vi /etc/fstab

然后再输入

/dev/xvdb1 /www ext4 defaults 1 2

然后保存

大功告成。

linux如何删除或修改.user.ini

删除.user.ini

第一步解锁

chattr -i /home/wwwroot/yoursite/.user.ini

第二步删除

 

修改.user.ini

第一步解锁

chattr -i /home/wwwroot/yoursite/.user.ini

然后修改

第二步加锁

chattr +i /home/wwwroot/yoursite/.user.ini

chattr命令:有时候你发现用root权限都不能修改某个文件,大部分原因是曾经用chattr命令锁定该文件了。chattr命令的作用很大,通过chattr命令修改属性能够提高系统的安全性,但是它并不适合所有的目录。chattr命令不能保护/、/dev、/tmp、/var目录。lsattr命令是显示chattr命令设置的文件属性。

 

参数  描述
-R  递归处理所有的文件及子目录。
-V  详细显示修改内容,并打印输出。
–   失效属性。
+   激活属性。
=   指定属性。
A   Atime,告诉系统不要修改对这个文件的最后访问时间。
S   Sync,一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘。
a   Append Only,系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件。
i   Immutable,系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件。
D   检查压缩文件中的错误。
d   No dump,在进行文件系统备份时,dump程序将忽略这个文件。
C   Compress,系统以透明的方式压缩这个文件。从这个文件读取时,返回的是解压之后的数据;而向这个文件中写入数据时,数据首先被压缩之后才写入磁盘。
s   Secure Delete,让系统在删除这个文件时,使用0填充文件所在的区域。
u   Undelete,当一个应用程序请求删除这个文件,系统会保留其数据块以便以后能够恢复删除这个文件。
实例:
用chattr命令防止系统中某个关键文件被修改:
# chattr +i /etc/resolv.conf
用lsattr查询文件属性:
# lsattr /etc/resolv.conf
—-i——– /etc/resolv.conf #显示如上
让某个文件只能往里面追加数据,但不能删除,适用于各种日志文件:
# chattr +a /var/log/messages