zoukankan      html  css  js  c++  java
  • tp3.2老旧项目的一些坑

    搞了套小程序源码,后端是古老的tp3.2,用laradock部署环境,遇到了好几个问题哦~

    一,在.env种配置项目地址和镜像内对应的地址

    vim .env

    APP_CODE_PATH_HOST=   配置linux本机中的项目地址

    APP_CODE_PATH_CONTAINER=   将本机中的项目地址自动映射到镜像中的/var/www 目录

    二,tp3.2中的 path_info 与 nginx 相应的配置

    首先找到nginx的配置文件,找到对应的站点文件,我用的是laradock,文件在laradock/nginx/sites目录下

     重定向,在 loacation / { } 里面添加一句话,实现重定向

    if (!-e $request_filename) {
       rewrite  ^(.*)$  /index.php?s=$1  last;
       break;
    }

    然后解析并添加PATH_INFO全局变量,这是为了给tp3.2获取PATH_INFO作的准备工作

    在 location ~ .php { } 中添加三行

    fastcgi_split_path_info ^(.+.php)(.*)$;
    fastcgi_param PATH_INFO $fastcgi_path_info;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

    注意默认的配置是 location ~ .php$,这里 $ 的意思是以 ...为结尾,为了能够匹配到带后面字符串的url,去掉$

    最后修改tp3.2的url的模式为2

     这样我们输入 http://wechat.test/Admin/Login/index.html (不带index.php)就能访问相应的方法或者页面了

    三、_STORAGE_WRITE_ERROR_问题

    遇到这种问题,一般是写入权限问题,修改Runtime文件夹权限为777

    chmod 777 -R Runtime

    Runtime文件夹在 主目录/App 下

    四、如何在laradock的数据库中导入sql

    首先把sql文件放到指定文件夹里面

    指定文件夹 laradock/mariadb/docker-entrypoint-initdb.d 

    然后进入容器内部,我用的是mariadb,执行命令

    docker-compose up exec mariadb bash

    然后登录mysql,密码自己知道

    mysql -uroot -p

    最后执行导入命令

    source docker-entrypoint-initdb.d /***.sql

    五、一些常见操作

    站点文件中配置域名,也要在hosts中绑定

    vim /etc/hosts
    #举个例子
    0.0.0.0 wechat.test

    docker-compose命令

    docker-compose up -d 某容器名字 #-d是后台启动
    docker-compose up --build 某容器名字 #--build是重新创建某容器,类似编译
    docker-compose down #停止所有容器,也可以单个停止
    docker-compose restart # 重启所有容器,也可以单个启动
  • 相关阅读:
    .NET的堆和栈01,基本概念、值类型内存分配
    C#中List<T>是怎么存放元素的
    MVC为用户创建专属文件夹
    c#中何时使用Empty()和DefalutIfEmpty()
    MVC中使用AngularJS-01,基本
    MVC使用Dotnet.HighCharts做图表01,区域图表
    MVC使用Gantt Chart实现甘特图,管理事情进度
    Knockout官网实例在MVC下的实现-02,实现计次
    MVC实现多选下拉框,保存并显示多选项
    Knockout官网实例在MVC下的实现-01,实现Hello world
  • 原文地址:https://www.cnblogs.com/YC-L/p/12384714.html
Copyright © 2011-2022 走看看