Web - mediawiki/layui/laravel

學習筆記 搭建mediawiki/layui/laravel

公司的業務狀況從4月開始就在艱難中度過,準備進行新的嘗試和探索,砸碎所有好的、不好的成績,捲土重來,很簡單,我是搞互聯網的,不能被互聯網搞了。我準備把所有遇到的坑都進行整理和記錄,分享給和我一樣,也在不斷探索的人。

網絡的複雜需要合作和協議,步調一致,思想一致,萬里之行,始於wiki。我採用的wiki版本是 mediawiki-1.33.1。

問題1. fileinfo沒有開啓。我用的是lnmp1.6,很好用的集成軟件,推薦大家使用。

解決辦法:找到你下載lnmp的目錄,腳本的文件的目錄下。

vim lnmp.conf 

Enable_PHP_Fileinfo='y' #修改參數 

執行 upgrade.sh

問題2. laravel與composer的整合,因爲項目的根目錄缺少composer.json文件,而下載不了laravel

composer的安裝步驟:

php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"

php composer-setup.php

//切換國內鏡像
composer config -g repo.packagist composer https://packagist.phpcomposer.com

在項目根目錄 添加composer.josn文件,初始化內容如下

{
    "require": {
        "monolog/monolog": "1.2.*"
    }
}

以上文件說明我們需要下載從 1.2 開始的任何版本的 monolog。

接下來只要運行以下命令即可安裝依賴包:

composer install

接下來是laravel,laravel框架的優點在於面向對象的思想更徹底,與composer結合優化了第三方庫的管理和使用,讓開發更高效、便捷。

composer global require "laravel/installer" -vvv  #-vvv 打印下載日記,一般教程裏沒有

問題3. nginx open_basedir 報錯,fastcgi解析不到nginx中的$document_root變量,我用的是socket形式的反向代理。

2019/11/05 09:50:33 [error] 24106#0: *15 FastCGI sent in stderr: "PHP message: PHP Warning:  Unknown: open_basedir restriction in effect. 

解決辦法:找到fastcgi.conf ,修改open_basedir 指定到你的映射目錄,fastcgi_param PHP_ADMIN_VALUE "open_basedir=/home/wwwroot/data/api/blog:/tmp/:/proc/";,問題解決。

問題4.跨域

我在之前的博客中解決過跨域的方法、jsonp、php改變header頭,這次我新增一種方法nginx中配置,這樣更顯平滑。

server {
	...
	add_header Access-Control-Allow-Origin *;
    add_header Access-Control-Request-Method *;
    add_header Access-Control-Allow-Credentials true;
    add_header Access-Control-Allow-Headers "x-requested-with,Authorization";
	...
}

問題5.http接口安全的思考。之前的參數都暴露在瀏覽器中,可以通過發送端和服務端進行對稱加密解決,對用戶密碼進行solt處理,對不需要驗證的接口進行sign簽名。

params: eyJ1c2VybmFtZSI6InJvb3QiLCJwYXNzd29yZCI6Ilp5NjAyQCMkIn0=	
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章