我在一台服务器(服务器A)上托管了一个Laravel 4.2项目,我需要能够从该应用程序上传文件,并将文件传输到位于同一本地网络(服务器B)上的Windows服务器.
我在Windows服务器上安装了OpenSSH并启动了该服务.我可以确认这是有效的,因为我可以在服务器A的终端上成功连接.
在Laravel项目中,我在app/config/remote.php文件中创建了连接.
但是当我尝试使用以下代码在服务器A上的Laravel项目中运行命令时:
SSH::into('ServerB')->run(['IF EXIST folder (echo YES) ELSE (echo NO)'], function($line){
echo $line.PHP_EOL;
});
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
unpack(): Type N: not enough input, need 4, have 1
Run Code Online (Sandbox Code Playgroud)
我尝试在服务器B上运行的每个命令都收到此错误.奇怪的是,如果我尝试使用相同的代码,但将其指向Linux服务器,代码工作正常.这会让我相信SSH服务器可能在服务器B上设置不正确,但我可以在终端窗口中通过SSH 从服务器A连接到服务器B的事实混淆了整个问题!
有谁知道我收到的错误的含义?
.on()对每个事件使用jQuery的事件处理程序被认为是不好的做法吗?
以前,我的代码包含这样的脚本:
$('#cartButton').click(function(){
openCart();
});
Run Code Online (Sandbox Code Playgroud)
但是我最近开始使用InstantClick(一个pjax jQuery插件).
现在我的脚本都没有用.我理解为什么会发生这种情况,但我不能用代码包装我的代码,InstantClick.on('change', function(){因为这意味着我的代码开始重复.例如,单击购物车按钮将openCart()多次运行该功能.所以为了解决这个问题,我将所有功能都改为:
$(document).on('click', '#cartButton', function(){
openCart();
});
Run Code Online (Sandbox Code Playgroud)
我很好奇这是否会增加加载时间并导致过度拉紧.on()在我的代码中为每个事件使用事件处理程序是不好的做法吗?
在PHP if语句中,当我比较一个变量时,我需要使用两个==符号.例如,
if($foo == 'bar'){
//Run code
}
Run Code Online (Sandbox Code Playgroud)
但如果我要使用这样的等号:
if($foo = 'bar'){
//Run code
}
Run Code Online (Sandbox Code Playgroud)
这实际上会设置$foo变量.
为什么你需要在if语句中设置这样的变量?我想不出一个有用的实例,而且我所说的许多程序员都有同感.
有没有理由让PHP允许您以这种方式设置变量?