2017-01-16 133 views
2

我正在使用Laravel框架与家园。 (最新版本),我正在尝试使用ssh2_connect。我已经安装了扩展SSH2连接问题

sudo apt install php-ssh2 

,我已经测试了它的工作

php -m |grep ssh2 

我看到

ssh2 

我假设这是正确的,但是当我尝试做一个连接我得到以下错误。

Call to undefined function App\Http\Controllers\ssh2_connect() 

这是代码我正在执行

$connection = ssh2_connect($request->sever_ip, 2222); 
    if (!$connection) die('Connection failed'); 

会有人点我在正确的方向?

+0

哪里是PHP代码? – Dekel

+0

$ connection = ssh2_connect($ request-> sever_ip,2222); if(!$ connection)die('Connection failed'); –

+0

将其添加到问题中,而不是评论。 – Dekel

回答

1

因为你是在Controllers的命名空间,你可能需要使用:

$connection = \ssh2_connect($request->sever_ip, 2222); 
if (!$connection) die('Connection failed'); 
+0

它应该没有反斜杠。根据文档:'对于函数和常量,如果名称空间函数或常量不存在,PHP将回退到全局函数或常量。'https://secure.php.net/manual/en/language.namespaces.fallback。 PHP它只适用于globlal类,你需要反斜杠。 –

+0

对不起,还没有为我工作。 –

+0

@ this.lau_我同意你的观点,但是我已经看到了与命名空间有关的一些奇怪的事情。如果上述不起作用,可能是ssh2没有被php加载(这里可能需要apache重新启动)。 – Dekel