【问题标题】:Fatal error: Call to undefined function ssh2_connect() in C:\Apache\htdocs\test\testSsh2_03.php on line 13致命错误:在第 13 行调用 C:\Apache\htdocs\test\testSsh2_03.php 中未定义的函数 ssh2_connect()
【发布时间】:2023-03-21 19:42:02
【问题描述】:

运行 PHP 5.6.5 我在 c:\PHP 下安装了“libssh2.dll” 我已经在 C:\PHP\ext 中安装了“php_ssh2.dll”和“php_ssh2.pdb”两种风格,64 和 32,但没有一个工作。 我也试过“phpseclib”,我得到另一个错误。我已经在网上研究了几天,大多数解决方案都是旧的,没有一个对我有用。

代码如下:

<?php
   // =================================================
   // testscp_02.php
   // =================================================
   $hostname      = 'myconnection.com';
   $username      = 'my_userName';
   $password      = 'MyPassword';

   $sourceFile    = 'TestScp.php';
   $targetFile    = '/home/myDir/TestScp.php';


   $connection    = ssh2_connect($hostname, 22);
   echo '<br>[' . $connection . ']<br>';
   ssh2_auth_password($connection, $username, $password)
   ssh2_scp_send($connection, 'C:/Apache/htdocs/test/testscp_02.php',   '/home/myDir/TestScp.php', 0666);
 ?>

我已经尝试了很多东西,我无法让 PHP 看到 SSH2,正如一些人指出的那样,当我按照本文开头所述安装 DLL 时应该会发生这种情况。

【问题讨论】:

  • 将一些 dll 文件转储到您的硬盘上并不意味着它们会被 php 神奇地加载。你更新了你的 php.ini 来告诉 php 这些文件和它们的位置吗?
  • 是的,我更新了我的 PHP.INI 文件,我只是没有“转储” dll 文件,我完成了所有必需的步骤。
  • 好吧,显然 dll 没有被加载,否则你不会得到那个错误。开始调试:查看php的错误日志,看看启动过程中发生了什么。
  • 只是为了确保我做对了,这里是 PHP.INI 文件中的更改:extension=php_ssh2.dll 并且该文件已复制到“ext”目录中,如我原来的帖子中所述..
  • 你是指Apache的日志文件吗?

标签: php


【解决方案1】:

我终于找到了 PHP 5.6 的 DLL,它现在可以工作了。 链接为:https://www.apachelounge.com/viewtopic.php?t=6123

我希望这对其他人有帮助。

【讨论】:

    猜你喜欢
    • 2011-07-07
    • 2016-03-15
    • 2014-04-11
    • 1970-01-01
    • 2016-03-06
    • 1970-01-01
    • 2017-09-03
    • 2015-08-24
    • 1970-01-01
    相关资源
    最近更新 更多