Php laravel SSH超过执行时间
我正在尝试使用laravel中的远程ssh功能。我一直收到“超过60秒的最大执行时间”的消息,我知道我可以设置此超时,但问题是执行Php laravel SSH超过执行时间,php,laravel,laravel-4,Php,Laravel,Laravel 4,我正在尝试使用laravel中的远程ssh功能。我一直收到“超过60秒的最大执行时间”的消息,我知道我可以设置此超时,但问题是执行ls不应该花费那么长的时间 我可以运行以下命令 exec(“ssh-i/path/to/keyuser@hostls“,$out,$code) 没有问题,所以这不是防火墙的问题 但我无法运行此命令: SSH::run(array( 'ls' ), function($line) { echo $line . PHP
ls
不应该花费那么长的时间
我可以运行以下命令
exec(“ssh-i/path/to/keyuser@hostls“,$out,$code)代码>
没有问题,所以这不是防火墙的问题
但我无法运行此命令:
SSH::run(array(
'ls'
), function($line) {
echo $line . PHP_EOL;
});
我不知道为什么这是挂和超时
我还想知道是否有办法指定ssh-o
选项,因为对于一些我可能需要指定strichhostkeychecking=no
我已经解决了这个问题,结果是我的openssl库版本和头版本不匹配,这导致phpseclib(laravel连接的方式)使用较慢的库,这将导致超时。作为临时修复,我修改了以下内容
从第256行开始
由此:
switch (true) {
case !isset($versions['Header']):
case !isset($versions['Library']):
case $versions['Header'] == $versions['Library']:
define('MATH_BIGINTEGER_OPENSSL_ENABLED', true);
break;
default:
define('MATH_BIGINTEGER_OPENSSL_DISABLE', true);
}
为此:
switch (true) {
case !isset($versions['Header']):
case !isset($versions['Library']):
case $versions['Header'] == $versions['Library']:
define('MATH_BIGINTEGER_OPENSSL_ENABLED', true);
break;
default:
define('MATH_BIGINTEGER_OPENSSL_ENABLE', true);
}
你确定你的app/config/remote.php
是正确的吗?是的,我试过用钥匙、不用钥匙和密码