YFCMF-TP6 第一次配置 遇到挺多坑 令牌验证失败

真坑啊,准备试验一下php8.0效果咋样,发现他还不支持8.0  阿西吧,然后装了php7.4最高版本的,保留php8.0下次修改完成后使用8.0

环境准备

线上环境 centos8.0+nginx1.8+php8+php7.4+mysql8

线下环境 window10+nginx+php7.4+mysql5.7

首先去官网下载安装包 

https://iuok.cn/ 我这里是下载的zip安装包

上传到linux服务器进行处理

运行系统安装上后发现一直报反射类的一个错,然后开始安装php7.4

这是php8的一个依赖,其中有几个是php8必须的,所以在安装php之前先执行一下这个

 yum -y install autoconf freetype gd libpng libpng-devel libjpeg libxml2 libxml2-devel zlib curl curl-devel net-snmp-devel libjpeg-devel php-ldap openldap-devel openldap-clients freetype-devel gmp-devel libzip libzip-devel sqlite-devel

php8在安装之前需要先安装一下oniguruma依赖,这个不好下载

安装oniguruma的时候可能没有configure,先执行autogen.sh进行生成configure 然后在执行./configure 进行安装

完成之后进入php的解压文件夹内容进行编译,执行下列代码  意思是指定安装文件位置和开启php的模块  

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --enable-mysqlnd --with-mysqli --with-pdo-mysql --enable-opcache --with-pcre-jit --enable-gd --with-jpeg --with-freetype --with-gettext --with-curl --with-openssl --enable-sockets --enable-mbstring --enable-xml --with-zip --with-zlib --with-snmp --with-mhash --enable-ftp --enable-bcmath --enable-soap --enable-shmop --enable-sysvsem --enable-pcntl --with-gmp

如果显示欢迎使用php的话执行 make && make install

安装完成后php就安装好了,需要配置php.ini 把php.ini从一开始解压的那个文件复制过来

cp /mnt/php8.0/php.ini.dev~~ php.ini

把php/etc/内容中带defunt的删掉defunt进行配置,复制一个最好

然后检测php-fpm的语法是否正确

/usr/local/php/sbin/php-fpm -t

安装完php后在下面这个路径中有一个optache.so,配置到php.ini中

/usr/local/php/lib/php/extensions/no-debug-non-zts-20200930

在php.ini中配置

zend_extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20200930/opcache.so

设置开机启动

vi ~/.bash_profile

增加代码

alias php=/usr/local/php/bin/php

重载文件

source ~/.bash_profile 

nginx设置直接复制到后面就可以了nginx.conf

server{
        listen 80;
        server_name blog.zhoujunfeng.cn;
        access_log logs/blog.access.log main;
        root html/blog/public;
        index index.php index.html;
        #为了YFtp加的
    	location /{
    		if (!-e $request_filename) {
                rewrite  ^(.*)$  /index.php?s=/$1  last;
                break;
            }		
    	}
        location ~ .php$ {
            fastcgi_pass   127.0.0.1:9001;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO $1;
            include        fastcgi_params;
        }

        location /nginxstatus {
            stub_status;
        }

    }

  php和nginx配置完毕

mysql的话直接官网上查看安装信息就可以了

我看的是这个

https://dev.mysql.com/doc/refman/8.0/en/binary-installation.html

mysql安装上以后,就是配置YFtp了搞了一天

报错信息呢就是令牌验证失败

令牌验证失败的原因是session没有开启,权限不足,没有这个文件

然后接下来就是权限不足导致的,要把你这个项目的文件所有权限都开了,或者都给一个用户,我这里是安装nginx的时候给nginx创建了一个用户,所以直接把所有权限赋值给nginx就可以了。

还有一个错误是报的.env的错误,这个直接把.env删掉就可以了。

 最后在附上我的测试地址,就是他

http://blog.zhoujunfeng.cn/

一个96年的PHPER
原文地址:https://www.cnblogs.com/zhouxiaohei/p/14578770.html