2017-10-09 56 views
1

我正在嘗試將phpseclib 2.0與我的應用程序集成在一起,以便與PHP7.0兼容。我以前有過使用PHP5的phpseclib,但是在我的PHP7.0機器上出現了一堆錯誤,提示更新了phpseclib。CodeIgniter上沒有作曲器的phpseclib 2.0,有關ParagonIE的錯誤

我想完全不使用作曲家,因爲我不想依靠人來安裝Composer,所以我從phpseclib的composer.json上運行了本地php composer.phar dump-autoload -o,以生成所需的autoload.php並上傳到我的網絡服務器。

這裏是我的文件設置:

/application 
/config 
/controllers 
/core 
/errors 
/helpers 
/hooks 
/language 
/logs 
/models 
/third_party 
    /phpseclib 
    <phpseclib2.0 files here> 
    /vendor 
    /composer 
    /autoload_*.php 
    /ClassLoader.php 
    autoload.php 

在我的模型之一,我需要SSH2和SFTP我有以下幾點:

public function __construct() { 
    require_once(APPPATH . '/third_party/vendor/autoload.php'); 
    $loader = new \Composer\Autoload\ClassLoader(); 
    $loader->addPsr4('phpseclib\\', __DIR__ . '/third_party/phpseclib'); 
    $loader->register(); 

    // Note $ip, $port, $user, $pass called from a config file separately. 
    $this->ssh_conn = new \phpseclib\Net\SSH2($ip, $port); 
    $this->sftp_conn = new \phpseclib\Net\SFTP($ip, $port); 
    $this->ssh_conn->login($user, $pass); 

加載頁面給我一個錯誤:

Type: Error 

Message: Class 'ParagonIE\ConstantTime\Hex' not found 

Filename: /var/www/public_html/application/third_party/phpseclib/Math/BigInteger/Engines/PHP.php 

Line Number: 114 

回溯:

文件:/var/www/public_html/application/third_party/phpseclib/Math/BigInteger/Engines/Engine.php 線:127 功能:初始化

文件:/無功/網絡/的public_html /應用/ THIRD_PARTY /phpseclib/Math/BigInteger/Engines/PHP.php 線:92 功能:__construct

文件:/var/www/public_html/application/third_party/phpseclib/Math/BigInteger.php 線:151 功能:__construct

File:/ var/www/public_html/application/third_p附庸風雅/ phpseclib /網絡/ SSH2.php 線:1670 功能:__construct

文件:/var/www/public_html/application/third_party/phpseclib/Net/SSH2.php 線:1248 功能:key_exchange

文件:/var/www/public_html/application/third_party/phpseclib/Net/SSH2.php 線:2126 功能:連接

文件:/無功/網絡/的public_html /應用/ THIRD_PARTY/phpseclib/Net/SSH2.php Line:2110 Function:call_user_f unc_array

任何幫助表示讚賞。

+0

您是否上傳供應商文件夾中的更改? – fire

+0

在我本地運行'php composer.phar dump-autoload -o'後,你的意思是上傳更改是什麼?如果是這樣,是的。如果沒有,那麼我不知道你的意思。 – Jguy

回答

相關問題