学习笔记 搭建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=