學習筆記 搭建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=