小编Rob*_*bok的帖子

如何为Laravel 5(和其他人)设置文件权限

我正在使用拥有所有者的Apache Web Server _www:_www.我永远不知道文件权限的最佳做法是什么,例如当我创建新的Laravel 5项目时.

Laravel 5要求/storage文件夹可写.我找到了许多不同的方法来使它工作,我通常最终以777递归方式使用chmod.我知道这不是最好的主意.

官方文件说:

Laravel可能需要配置一些权限:Web服务器中的文件夹, storagevendor要求Web服务器进行写访问.

这是否意味着Web服务器本身也需要访问storagevendor文件夹本身或仅需要访问其当前内容?

我认为更好的是改变所有者而不是权限.我递归地更改了所有Laravel的文件权限_www:_www,这使得网站正常工作,就像我将chmod更改为777.问题是,现在我的文本编辑器每次要保存任何文件时都要求我输入密码,如果我尝试在Finder中更改任何内容,就会发生同样的情况,例如复制文件.

解决这些问题的正确方法是什么?

  1. 更改 chmod
  2. 更改文件的所有者以匹配Web服务器的所有者,并可能将文本编辑器(和Finder?)设置为跳过要求输入密码,或者让它们使用 sudo
  3. 更改Web服务器的所有者以匹配os用户(我不知道后果)
  4. 还有别的

php apache file-permissions laravel laravel-5

186
推荐指数
11
解决办法
25万
查看次数

ECMAScript 6:什么是WeakSet?

WeakSet应该通过弱引用来存储元素.也就是说,如果某个对象未被其他任何东西引用,则应该从WeakSet中清除它.

我写了以下测试:

var weakset = new WeakSet(),
    numbers = [1, 2, 3];

weakset.add(numbers);
weakset.add({name: "Charlie"});

console.log(weakset);

numbers = undefined;

console.log(weakset);
Run Code Online (Sandbox Code Playgroud)

即使我的[1, 2, 3]数组没有被任何引用引用,它也不会从WeakSet中删除.控制台打印:

WeakSet {[1, 2, 3], Object {name: "Charlie"}}
WeakSet {[1, 2, 3], Object {name: "Charlie"}}
Run Code Online (Sandbox Code Playgroud)

这是为什么?

另外,我还有一个问题.将对象直接添加到WeakSets有什么意义,如下所示:

weakset.add({name: "Charlie"});
Run Code Online (Sandbox Code Playgroud)

那些Traceur的故障还是我错过了什么?

最后,如果我们甚至无法迭代它并获得当前大小,那么WeakSet的实际用途是什么?

javascript ecmascript-6 traceur

52
推荐指数
4
解决办法
1万
查看次数

字体真棒百分比宽度堆积图标

我想用CSS实现以下效果:

在此输入图像描述

这个星形图标是一种字体.我想用百分比来定义橙色背景的宽度,所以50%应该是恒星的完美一半.

现在,我做了以下事情:

<div class="container">
    <span class="star star-under fa fa-star"></span>
    <span class="star star-over fa fa-star"></span>
</div>
Run Code Online (Sandbox Code Playgroud)

和:

.container
{
    font-size: 200px;
    height: 300px;
    position: relative;
    width: 100%;
}

.star
{
    display: inline-block;
    left: 0;
    position: absolute;
    top: 0;
}

.star-under
{
    color: #ddd;
}

.star-over
{
    color: #f80;
    overflow: hidden;
    width: 30%;
}
Run Code Online (Sandbox Code Playgroud)

问题是我需要提供宽度和高度才能使用%的宽度.如果我跳过容器的宽度和高度,它什么都不显示,因为它包含绝对定位的子项.

这个%值是在服务器端计算的,所以我宁愿保持内联,如下所示:

<span class="star star-over fa fa-star" style="width: 62%;"></span>
Run Code Online (Sandbox Code Playgroud)

最灵活的方法是什么?最灵活的我指的是没有必要提供任何宽度和高度的那个.

html css css3 font-awesome

21
推荐指数
1
解决办法
1898
查看次数

访问被拒绝:403还是404?

如果有人请求访问他不允许看到的实体,应该返回什么状态代码?你可能会说这是403:禁止.但通常的做法是返回404吗?我不希望有人知道,如果他不被允许看到它,这个实体就会存在.你怎么看?

rest http http-status-code-403 http-status-code-404

17
推荐指数
1
解决办法
2万
查看次数

使用Sublime Text 3的PHP 100%CPU使用率

我使用Sublime Text 3进行Web开发.它会不时地启动PHP进程,CPU使用率为100%.我的Mac开始变得迟钝,而且粉丝很响亮.

我该如何调查为什么会这样?我认为这是我正在使用的插件之一:SublimeLinter-php或者SublimeLinter-phpcs,但我不确定.

有没有办法检查出来除了禁用插件并等待,如果发生这种情况?这将是麻烦的,因为有时它会在几个小时后发生,没有它们的发展对我来说很麻烦.您是否使用Sublime Text 3体验过这种行为?

php cpu-usage sublimetext3

14
推荐指数
3
解决办法
7589
查看次数

如何在Laravel 5中禁用cookie?

我在Laravel 5.1上制作了单页应用程序.我使用localStorage来保存API密钥,我不需要cookie.Laravel为我创建了两个cookie:

  • XSRF-TOKEN
  • laravel_session

如果我设置SESSION_DRIVERarray在我的环境配置,laravel_session不再生成的cookie.

但我认为XSRF-TOKENcookie 可能存在问题,因为我在VerifyCsrfToken中间件类中发现了这段代码:

public function handle($request, Closure $next)
{
    if ($this->isReading($request) || $this->shouldPassThrough($request) || $this->tokensMatch($request)) {
        return $this->addCookieToResponse($request, $next($request));
    }

    throw new TokenMismatchException;
}
Run Code Online (Sandbox Code Playgroud)

addCookieToResponse方法如下:

protected function addCookieToResponse($request, $response)
{
    $config = config('session');

    $response->headers->setCookie(
        new Cookie(
            'XSRF-TOKEN', $request->session()->token(), time() + 60 * 120,
            $config['path'], $config['domain'], false, false
        )
    );

    return $response;
}
Run Code Online (Sandbox Code Playgroud)

似乎无论如何设置这个cookie.我可以禁用此中间件,但我想用它来验证带有HTTP头的CSRF令牌.我可以完全禁用cookie吗?

php cookies single-page-application laravel-5

12
推荐指数
1
解决办法
6086
查看次数

如何在Sublime Text 3中保存命令?

崇高的文本提供了内置的命令,例如paste,new_window,toggle_comment等.此外,一些插件提供可用于密钥绑定自己的命令.

我可以强制执行这些命令以保存文件吗?我需要的原因是因为我想在文件保存上运行CSScomb而不是/除了具有键绑定之外.命令名是css_comb.

sublimetext3

11
推荐指数
1
解决办法
6830
查看次数

切换 Homebrew 安装的 Python 版本

我通过 Homebrew 安装了 Python 3.8 和 3.9:

~ brew list | grep python
python@3.8
python@3.9
Run Code Online (Sandbox Code Playgroud)

我想使用 Python 3.9 作为我的默认python3命令。我尝试了以下方法:

~ brew switch python 3.9
Error: python does not have a version "3.9" in the Cellar.
python's installed versions: 3.8.6
Run Code Online (Sandbox Code Playgroud)

我试图卸载 Python 并重新安装它,但它被其他软件包使用:

~ brew uninstall python
Error: Refusing to uninstall /usr/local/Cellar/python@3.8/3.8.6
because it is required by glib and php, which are currently installed.
You can override this and force removal with:
  brew uninstall --ignore-dependencies python
Run Code Online (Sandbox Code Playgroud)

如何使用 Python 3.9?

python macos homebrew

11
推荐指数
3
解决办法
2万
查看次数

Sublime Text 3中的Sass + CSS3 + CSS Comb

我正在尝试使用Sublime Text 3中的CSS和Sass文件找到完美的工作流程.我需要的是:

  1. Sass文件语法突出显示
  2. CSS Comb在保存时按字母顺序排序属性
  3. 属性和价值暗示,使用最新的CSS3数据

通过安装Sass包可以实现Sass突出显示.

我还设法在保存时设置CSS Comb,如下所示:

{
    "on_pre_save_language": [
        {
            "command": "css_comb"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

CSS3 软件包提供了很好的CSS3提示,但Sass软件包似乎提供了自己的软件包,但它们并不令人满意.

还有其他Sass包,但它们完全打破了CSS Comb.

如何将所有这些要求结合起来?我可以禁用Sass包中的提示并使Sublime使用CSS3代替吗?或者我应该以其他方式做到这一点?

css sass css3 sublimetext3

8
推荐指数
1
解决办法
1605
查看次数

SoapVar和SoapParam有什么区别?

在PHP中,我们有SoapVarSoapParam类.我已经困惑了很长时间,因为在php.net上没有相应的文档.

今天我很惊讶地发现这些行将在XML输入中产生完全相同的结果:

$soapVar   = new SoapVar((object) ['Foo' => 'bar'], null, null, null, 'TagName');
$soapParam = new SoapParam((object) ['Foo' => 'bar'], 'TagName');
Run Code Online (Sandbox Code Playgroud)

在大多数SoapClient教程中,每当有人想要设置自定义时,我都会看到SoapParam里面的片段:SoapVarxsi:type

$response = $soapClient->DoSomething(
    new SoapParam(
        new SoapVar(
            (object) ['Foo' => 'bar'],
            null,
            'TypeName'
        ),
        'TagName'
    )
);
Run Code Online (Sandbox Code Playgroud)

这实在是直观的,因为SoapVarSoapParam类的名称不太多发言权.通过更优雅可以实现相同的结果:

$response = $soapClient->DoSomething(
    new SoapVar(
        (object) ['Foo' => 'bar'],
        null,
        'TypeName',
        null,
        'TagName'
    )
);
Run Code Online (Sandbox Code Playgroud)

那么目的是SoapParam什么?它只是更简单的版本SoapVar吗?看起来这两个人很困惑并被误解了很多.是否附加了额外的行为SoapParam

php soap soap-client

8
推荐指数
1
解决办法
1617
查看次数