Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 日本一区二区精品88,久久久精品2018免费观看,成人精品视频成人影院

          整合營(yíng)銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          ThinkAdmin-V5開發(fā)筆記

          ThinkAdmin-V5開發(fā)筆記

          為了快速開發(fā)一款小程序管理后臺(tái),在眾多的php開源后臺(tái)中,最終選擇了基于thinkphp5的,輕量級(jí)的thinkadmin系統(tǒng),進(jìn)行二次開發(fā)。該系統(tǒng)支持php7。


          文檔地址

          1. ThinkAdmin-V5文檔,http://doc.thinkadmin.top/thinkadmin-v5/1201769
          2. Thinkphp5文當(dāng),https://www.kancloud.cn/manual/thinkphp5/118003
          3. github源碼地址,https://github.com/zoujingli/ThinkAdmin/tree/v5
          4. layui地址,https://www.layui.com/doc/
          5. ThinkAdmin-V5演示地址,https://v5.thinkadmin.top/admin/login.html

          布署步驟

          1. 在github下載zip源碼,解壓到項(xiàng)目目錄;
          2. 根據(jù)文檔運(yùn)行,本地開發(fā)命令php think run,使用http://127.0.0.1:8000訪問(wèn)項(xiàng)目;
          3. 本地vhost配置
          server {
                  listen       80;
                  server_name  local.thinkadmin.com;
                  root   "/usr/local/nginx/html/thinkadmin/public";
                  location / { 
                     index  index.html index.htm index.php;
                     if (!-e $request_filename) {
                     rewrite  ^(.*)$  /index.php?s=$1  last;
                     break;
                    }
                  }
                  location ~ \.php(.*)$ {
                      fastcgi_pass   127.0.0.1:9000;
                      fastcgi_index  index.php;
                      fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
                      fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                      fastcgi_param  PATH_INFO  $fastcgi_path_info;
                      fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
                      include        fastcgi_params;
                  }
          }

          遇到的問(wèn)題

          打印controller中的sql

          打印sql
          vendor/zoujingli/think-library/helper/PageHelper.php	88行
          echo $this->query->getlastsql();exit;

          AsyncCommand任務(wù)執(zhí)行

          linux環(huán)境需要給nginx運(yùn)行權(quán)限
          chown www.www -R thinkadmin

          表單token有時(shí)候會(huì)驗(yàn)證失敗

          vendor/zoujingli/think-library/helper/PageHelper.php 72行
          list($token, $time)=[uniqid($node), time()];//把'csrf'改成$node

          集成Qcloud上傳

          結(jié)語(yǔ)

          項(xiàng)目中很多的方法都是參照,thinkphp5手冊(cè),和layui文檔完成。

          感謝以上開源項(xiàng)目,歡迎交流學(xué)習(xí)。

          >rewrite ^/(.*)$ /index.php?s=$1 last; break;

          hinkPHP 是什么?

          ThinkPHP 是一個(gè)免費(fèi)開源的,快速、簡(jiǎn)單的面向?qū)ο蟮妮p量級(jí) PHP 開發(fā)框架,是為了敏捷 WEB 應(yīng)用開發(fā)和簡(jiǎn)化企業(yè)應(yīng)用開發(fā)而誕生的。ThinkPHP 從誕生以來(lái)一直秉承簡(jiǎn)潔實(shí)用的設(shè)計(jì)原則,在保持出色的性能和至簡(jiǎn)代碼的同時(shí),更注重易用性。遵循 Apache2 開源許可協(xié)議發(fā)布,意味著你可以免費(fèi)使用 ThinkPHP,甚至允許把你基于 ThinkPHP 開發(fā)的應(yīng)用開源或商業(yè)產(chǎn)品發(fā)布/銷售。

          效果預(yù)覽

          本文涉及到的兩個(gè)應(yīng)用示例部署后的鏈接,點(diǎn)擊預(yù)覽效果:

          1. ThinkPHP 官方示例:http://13492727-1986114430573743.test.functioncompute.com
          2. ThinkPHP 博客示例:http://13500180-1986114430573743.test.functioncompute.com
          3. ThinkPHP 博客示例管理后臺(tái):http://13500180-1986114430573743.test.functioncompute.com/admin

          環(huán)境準(zhǔn)備

          首先按照 Fun 的安裝文檔里介紹的方法將 Fun 安裝到本機(jī)。

          PS: 本文介紹的方法,不需要安裝 Docker,僅僅安裝 Fun 即可,最簡(jiǎn)單的方式就是直接下載可執(zhí)行的二進(jìn)制文件。

          安裝完成后,可以執(zhí)行 fun --version 檢查 Fun 是否安裝成功。

          第一個(gè)示例:快速初始化并部署一個(gè) ThinkPHP 示例應(yīng)用

          初始化一個(gè) thinkphp 示例:

          composer create-project topthink/think tp

          將該示例在本地運(yùn)行測(cè)試:

          php think run

          可以在本地看到效果:

          傳統(tǒng)的開發(fā)方式是,本地開發(fā)完成后,就要進(jìn)行部署工作了,通常我們部署一個(gè) PHP 應(yīng)用可能需要如下幾步:

          1. 購(gòu)買一臺(tái)物理機(jī)器,比如 ECS
          2. 在物理機(jī)器上綁定公網(wǎng) ip、安裝 php、nginx、php-fpm
          3. 配置 nginx、php-fpm 以及上傳應(yīng)用到該機(jī)器上
          4. 運(yùn)行測(cè)試

          其中最復(fù)雜的就要數(shù)第 2、3 步了,因?yàn)榭赡懿煌沫h(huán)境的配置方法還不一樣,會(huì)有比較多的坑。我們演示下如何將應(yīng)用部署到函數(shù)計(jì)算上。

          fun deploy

          僅需要一個(gè)命令,F(xiàn)un 會(huì)自動(dòng)進(jìn)入部署流程,在該流程中,用戶僅僅需要按下一系列的回車即可。流程細(xì)節(jié)如下:

          1. Fun 檢測(cè)到這不是一個(gè) Fun 項(xiàng)目,會(huì)提示協(xié)助創(chuàng)建(直接回車或者輸入 y 即可)
          2. Fun 項(xiàng)目自動(dòng)創(chuàng)建成功,提示是否進(jìn)行部署?可以直接回車,或者輸入 y 進(jìn)行確認(rèn)
          3. 然后 Fun 會(huì)直接將應(yīng)用部署到線上了

          部署完成后,我們可以根據(jù)部署成功的日志看到,函數(shù)計(jì)算為我們生成了臨時(shí)域名 13492727-1986114430573743.test.functioncompute.com,我們可以通過(guò)這個(gè)臨時(shí)域名直接訪問(wèn)我們剛剛部署的應(yīng)用。

          備注:臨時(shí)域名僅僅用作演示以及開發(fā),是有時(shí)效的,如果用作生產(chǎn),請(qǐng)綁定已經(jīng)備案的域名。

          第二個(gè)示例:快速遷移一個(gè)已有的 ThinkPHP 應(yīng)用

          這里我們拿一個(gè)開源的 ThinkPHP 博客做示例:https://github.com/wolf-leo/Wolf-Blog

          首先我們需要將 blog 克隆下來(lái):

          git clone https://github.com/wolf-leo/Wolf-Blog.git

          使用 composer 安裝依賴:

          composer install

          在要使用的 mysql 數(shù)據(jù)庫(kù)上新建一個(gè)名為 blog_test 的 database。然后編輯 config/database.php 文件,修改其中的數(shù)據(jù)庫(kù)地址、用戶名、密碼信息。

          // ... ...
          return [
              // ... ...
              // 服務(wù)器地址
              'hostname'=> '192.168.17.104',
              // 數(shù)據(jù)庫(kù)名 測(cè)試數(shù)據(jù)庫(kù)名稱 不用修改 否則默認(rèn)安裝會(huì)出錯(cuò)
              'database'=> 'blog_test',
              // 用戶名  需要修改的地方
              'username'=> 'root',
              // 密碼     需要修改的地方
              'password'=> 'root',
              // ... ...
          ];

          修改完成后,就可以本地啟動(dòng)查看效果了:

          $ php think run
          
          ThinkPHP Development server is started On <http://127.0.0.1:8000/>
          You can exit with `CTRL-C`
          Document root is: /examples/php/Wolf-Blog/public

          然后打開 http://localhost:8000 可以直接看到效果。

          本地測(cè)試沒問(wèn)題后,就要進(jìn)行部署了。部署前,我們需要知道,由于函數(shù)計(jì)算運(yùn)行時(shí)代碼目錄本身是不可以修改的,而 ThinkPHP 會(huì)在代碼目錄下的 Runtime 這個(gè)目錄寫一些緩存文件,我們需要將這個(gè)緩存文件放到 /tmp 下面。在我們的例子中就是將 thinkphp/library/think/App.php 這個(gè)文件的第 174 行做如下修改:

          - $this->runtimePath=$this->rootPath . 'runtime' . DIRECTORY_SEPARATOR;
          + $this->runtimePath=DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR;

          修改完成后可以直接使用以下命令進(jìn)行部署:

          fun deploy

          經(jīng)歷與第一個(gè)示例一樣的步驟后,我們可以得到一個(gè)可以訪問(wèn)的臨時(shí)域名進(jìn)行測(cè)試:13500180-1986114430573743.test.functioncompute.com。打開該臨時(shí)域名,可以預(yù)覽到與本地運(yùn)行一樣的效果。

          還可以訪問(wèn) 13500180-1986114430573743.test.functioncompute.com/admin 打開該應(yīng)用的管理后臺(tái):

          總結(jié)

          本文主要介紹了如何將 ThinkPHP 應(yīng)用部署到函數(shù)計(jì)算。相比較與傳統(tǒng)的部署方法,不僅沒有更復(fù)雜,還省略了購(gòu)買機(jī)器、安裝配置 Nginx、安裝配置 php-fpm 等步驟。可以實(shí)現(xiàn),將傳統(tǒng)的 ThinkPHP 應(yīng)用在本地開發(fā)完成后,一鍵部署到遠(yuǎn)端直接用于生產(chǎn),并擁有了彈性伸縮、按量付費(fèi)、免運(yùn)維等特性。

          查看更多:https://yqh.aliyun.com/detail/6896?utm_content=g_1000107051

          上云就看云棲號(hào):更多云資訊,上云案例,最佳實(shí)踐,產(chǎn)品入門,訪問(wèn):https://yqh.aliyun.com/


          主站蜘蛛池模板: 国产日韩精品一区二区三区| 亚洲AV综合色区无码一区| 波多野结衣一区二区免费视频| 国产精品一区二区久久精品涩爱| 国产福利一区二区三区在线视频| 一区二区三区在线观看| 日韩成人无码一区二区三区| 国产日韩视频一区| 亚洲一区二区精品视频| 亚州日本乱码一区二区三区| 78成人精品电影在线播放日韩精品电影一区亚洲| 亚洲av无码一区二区三区网站 | 色欲AV无码一区二区三区| 国产伦精品一区二区免费 | 精品欧美一区二区在线观看| 日韩精品午夜视频一区二区三区| 亚洲免费一区二区| 人妻久久久一区二区三区| 在线免费视频一区二区| 亚洲乱码国产一区三区| 伊人色综合网一区二区三区| 一区二区三区免费在线视频 | 无码AV一区二区三区无码| 无码少妇一区二区| 在线观看视频一区二区| 国模吧一区二区三区| 免费看无码自慰一区二区| 久久99精品波多结衣一区| 国产在线观看91精品一区| 国产精品视频第一区二区三区| 国产福利酱国产一区二区| 激情综合一区二区三区| 精品国产一区二区三区免费看| 亚洲一区二区三区偷拍女厕| 极品少妇一区二区三区四区| 国产精品亚洲一区二区三区在线| 精品无码人妻一区二区三区18 | 国产精品一区二区久久精品涩爱| 中文字幕一区二区日产乱码| 国产怡春院无码一区二区 | 日韩精品一区二区三区中文3d|