我使用以下功能将文件从一个服务器复制到另一个服务器。它大多数时间都能正常工作,但有时我会在日志文件中看到以下错误:
Module 'ssh2' already loaded in Unknown on line 0
并且它停止了复制。之后由于某种原因,错误将停止,复制将重新开始工作。这里的问题是什么?
function getConn($server,$username,$password)
{
$connection = 0;
if (function_exists("ssh2_connect"))
{
$connection = ssh2_connect($server, 3817);
if($connection)
{
if(ssh2_auth_password($connection, $username, $password))
{
return $connection;
}
}
}
return 0;
}
function scp($server,$username,$password,$remotepath,$localpath)
{
$connection = 0;
$connection = $this->getConn($server,$username,$password);
if($connection)
{
$ret = ssh2_scp_send($connection, $localpath, $remotepath, 0644);
ssh2_exec($connection, 'exit');
}
}
/etc/php.d
目录中有两个文件包含了ssh2
模块。不知道是怎么发生的,但我们删除了其中一个,现在一切都正常了。 - UncaAlby