国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

在webman里面引入第三方框架sabre/dav有方法嗎?

icodex

問題描述

sabre/dav是比較好用的webdav文件傳輸?shù)慕鉀Q方案,目前我有個(gè)項(xiàng)目里面有用到。我需要對(duì)每個(gè)使用它的人做一個(gè)登陸認(rèn)證。sabre/dav文檔里面有一個(gè)用外部回調(diào)鑒權(quán)的,我想直接用webman里的鑒權(quán)做回調(diào),這樣方便多用戶登陸使用,如果是用webman生成一個(gè)文件htdigest文件的方式給sabre/dav去做認(rèn)證,這樣不會(huì)熱加載。因此我想把它移植進(jìn)來。

但是sabre/dav本身就是一個(gè)框架的東西了,比如我建立一個(gè)dav.php:

#!/usr/bin/env php
<?php

require_once __DIR__ . '/vendor/autoload.php';

ini_set('display_errors', 'on');
error_reporting(E_ALL);

use Sabre\DAV;

$publicDir = 'public';
$tmpDir = 'runtime/tmp';

$rootDirectory = new DAV\FS\Directory($publicDir);
$server = new DAV\Server($rootDirectory);
$server->setBaseUri('/');

$lockBackend = new DAV\Locks\Backend\File($tmpDir.'/locksdb');
$lockPlugin = new DAV\Locks\Plugin($lockBackend);
$server->addPlugin($lockPlugin);

$server->addPlugin(new DAV\Browser\Plugin());

$server->exec();

日常調(diào)試運(yùn)行是用以下命令進(jìn)行

php -S 0.0.0.0:8080 dav.php

以上是可以直接運(yùn)行的。
但是當(dāng)我把它放進(jìn)process路徑,按onWorkerStart的規(guī)范寫

<?php

namespace process;

use Workerman\Worker;
use Workerman\Events\EventInterface;
use Workerman\Lib\Timer;
use Sabre\DAV;

/**
 * Class FileMonitor
 * @package process
 */
class Webdav
{
    public function onWorkerStart()
    {
        $publicDir = 'public';
        $tmpDir = 'runtime/tmp';

        $rootDirectory = new DAV\FS\Directory($publicDir);
        $server = new DAV\Server($rootDirectory);
        $server->setBaseUri('/');

        $lockBackend = new DAV\Locks\Backend\File($tmpDir.'/locksdb');
        $lockPlugin = new DAV\Locks\Plugin($lockBackend);
        $server->addPlugin($lockPlugin);

        $server->addPlugin(new DAV\Browser\Plugin());

        $server->exec();
    }
}

config/process.php里面增加:

    // Dav Server
    'webdav' => [
        'handler' => process\Webdav::class,
        'listen'  => 'http://0.0.0.0:8080',
        'count'   => 1,
        'constructor' => []
    ],

啟動(dòng)后就會(huì)報(bào)There was no plugin in the system that was willing to handle this CLI method.,這個(gè)出錯(cuò)跟直接php dav.php是一樣的

我的問題

像這種本身就是框架的,它可以直接在php-fpm里運(yùn)行,如何移植到workerman這樣的容器中來,并給它一個(gè)合適的端口。

謝謝大家。

1499 0 1
0個(gè)回答

年代過于久遠(yuǎn),無法發(fā)表回答
??