docker安装octobercms

资源准备:

安装步骤:

  1. docker版的composer, 将其仓库地址替换为中国. Dockerfile tip: docker build -t mycomposer .
  2. mkdir ~/laradockProject
  3. cd ~/laradockProject
  4. git clone https://github.com/laradock/laradock.git
  5. cd ~/laradockProject/laradock
  6. cp env-exampl .env
  7. vi .env PP_CODE_PATH_HOST=../myoctober MYSQL_VERSION=5.7
  8. docker-compose build mysql
  9. cd ~/laradockProject/laradock/nginx/sites
  10. cp laravel.conf.example myoctober.conf
  11. vi myoctober.conf server_name myoctober.test; root /var/www;
  12. docker-compose up -d nginx mysql phpmyadmin redis workspace
  13. docker-exec -it laradock_mysql_1 bash
  14. mysql -u root -p root | create database myoctober
  15. 退出数据库, 退出mysql-docker
  16. sudo vi /etc/hosts | add 127.0.0.1 myoctober.test
  17. docker run --rm --interactive --tty --volume $PWD:/app mycomposer create-project october/october myoctober
  18. vi ~/laradockProject/myoctober/config/cms.php ‘disableCoreUpdates’ => true,
  19. cd ~/laradockProject/myoctober
  20. docker run –rm –interactive –tty –volume $PWD:/app mycomposer update
  21. vi ~/laradockProject/myoctober/config/database.php 设置数据库配置信息(user: root pass:root)
  22. 前台: http://myoctober.test 后台: http://myoctober.test/backend/backend/auth/signin 默认用户名: admin 密码: admin

相关资料

composer-安装
官方安装文档-composer
docker-mysql启动错误

laravel-caffeinated-modules渲染模板时怎么可以不带模块名?

return view(' wap::Index.index '); 想要变成自动根据模块名来渲染对应的模板 return view('Index.index ');


代替方案: 在模块下的控制器的一个基础控制器里重写下view, 然后其他控制器继承后调用.

    /**
     * 读取当前wap模块下的模板
     */
    public function _view($view = null, $data = [], $mergeData = [])
    {
        $view = $view ? 'wap::' . $view : null;
        return view($view, $data, $mergeData);
    }

workerman与laravel-command模式下的session

imf

env
– laravel-5.5
– workerman-3.5


workerman中能否获取session?

workerman中是可以使用 $_SERVER、$_GET、$_POST、$_FILES、$_COOKIE、$_SESSION、$_REQUEST 6-可用的超全局变量, 但是session不和其他框架互通. tip: php cli不支持原生session cookie接口.

关于workerman中使用全局变量(类位置-Workerman\Protocols\Http)

use Workerman\Protocols\Http;
Http::setCookie(..);
Http::sessionStart(); //webserver里sessionStart后才能用$_SESSION
$_SESSION['xx']...
$_SERVER。。。

laravel command 下如何获取session. 是只能配何redis上才能在command模式下使用session?

查阅资料

workerman社区-session问题

为二维数组中每个数组中增加一个元素

PHP自定义函数之数组

/**
 * 为二维数组中每个数组中增加一个元素
 *
 * 用于多个商品一个订单, 商品批量入库需要oid
 * @param  array &$data 原数组 
 * @param  string $key  新增的元素下标
 * @param  mixed $val   元素的值
 * @return 引用赋值
 */
function arr_add_element(&$data, $key, $val)
{
    array_walk($data, function(&$val, $key, $param){ $val[$param['key']] = $param['val']; }, array('key' => $key, 'val' => $val));
}