我正在使用拥有所有者的Apache Web Server _www:_www
.我永远不知道文件权限的最佳做法是什么,例如当我创建新的Laravel 5项目时.
Laravel 5要求/storage
文件夹可写.我找到了许多不同的方法来使它工作,我通常最终以777
递归方式使用chmod.我知道这不是最好的主意.
官方文件说:
Laravel可能需要配置一些权限:Web服务器中的文件夹,
storage
并vendor
要求Web服务器进行写访问.
这是否意味着Web服务器本身也需要访问storage
和vendor
文件夹本身或仅需要访问其当前内容?
我认为更好的是改变所有者而不是权限.我递归地更改了所有Laravel的文件权限_www:_www
,这使得网站正常工作,就像我将chmod更改为777
.问题是,现在我的文本编辑器每次要保存任何文件时都要求我输入密码,如果我尝试在Finder中更改任何内容,就会发生同样的情况,例如复制文件.
解决这些问题的正确方法是什么?
chmod
sudo
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的实际用途是什么?
我想用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)
最灵活的方法是什么?最灵活的我指的是没有必要提供任何宽度和高度的那个.
如果有人请求访问他不允许看到的实体,应该返回什么状态代码?你可能会说这是403:禁止.但通常的做法是返回404吗?我不希望有人知道,如果他不被允许看到它,这个实体就会存在.你怎么看?
我使用Sublime Text 3进行Web开发.它会不时地启动PHP进程,CPU使用率为100%.我的Mac开始变得迟钝,而且粉丝很响亮.
我该如何调查为什么会这样?我认为这是我正在使用的插件之一:SublimeLinter-php
或者SublimeLinter-phpcs
,但我不确定.
有没有办法检查出来除了禁用插件并等待,如果发生这种情况?这将是麻烦的,因为有时它会在几个小时后发生,没有它们的发展对我来说很麻烦.您是否使用Sublime Text 3体验过这种行为?
我在Laravel 5.1上制作了单页应用程序.我使用localStorage来保存API密钥,我不需要cookie.Laravel为我创建了两个cookie:
如果我设置SESSION_DRIVER
到array
在我的环境配置,laravel_session
不再生成的cookie.
但我认为XSRF-TOKEN
cookie 可能存在问题,因为我在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吗?
崇高的文本提供了内置的命令,例如paste
,new_window
,toggle_comment
等.此外,一些插件提供可用于密钥绑定自己的命令.
我可以强制执行这些命令以保存文件吗?我需要的原因是因为我想在文件保存上运行CSScomb而不是/除了具有键绑定之外.命令名是css_comb
.
我通过 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?
我正在尝试使用Sublime Text 3中的CSS和Sass文件找到完美的工作流程.我需要的是:
通过安装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代替吗?或者我应该以其他方式做到这一点?
在PHP中,我们有SoapVar
和SoapParam
类.我已经困惑了很长时间,因为在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
里面的片段:SoapVar
xsi:type
$response = $soapClient->DoSomething(
new SoapParam(
new SoapVar(
(object) ['Foo' => 'bar'],
null,
'TypeName'
),
'TagName'
)
);
Run Code Online (Sandbox Code Playgroud)
这实在是直观的,因为SoapVar
和SoapParam
类的名称不太多发言权.通过更优雅可以实现相同的结果:
$response = $soapClient->DoSomething(
new SoapVar(
(object) ['Foo' => 'bar'],
null,
'TypeName',
null,
'TagName'
)
);
Run Code Online (Sandbox Code Playgroud)
那么目的是SoapParam
什么?它只是更简单的版本SoapVar
吗?看起来这两个人很困惑并被误解了很多.是否附加了额外的行为SoapParam
?
php ×4
sublimetext3 ×3
css ×2
css3 ×2
laravel-5 ×2
apache ×1
cookies ×1
cpu-usage ×1
ecmascript-6 ×1
font-awesome ×1
homebrew ×1
html ×1
http ×1
javascript ×1
laravel ×1
macos ×1
python ×1
rest ×1
sass ×1
soap ×1
soap-client ×1
traceur ×1