phpseclib zf2致命错误调用类

时间:2015-02-10 23:24:06

标签: zend-framework2 phpseclib

我正在尝试使用zf2配置phpseclib。

我指的是https://github.com/phpseclib/phpseclib,我安装了作曲家。 我将包保存在vendor / phpseclib中。

inside vendor / composer =>

<?php

// autoload_namespaces.php generated by Composer

$vendorDir = dirname(__DIR__);
$baseDir = dirname($vendorDir);

return array(
  'Zend\\' => $vendorDir . '/zendframework/zendframework/library/',
  'ZendTest\\' => $vendorDir . '/zendframework/zendframework/tests/',
  'phpseclib\\' => $vendorDir .  '/phpseclib/',
);

然后他们建议我使用以下代码创建一个php文件:

<?php
include 'vendor/autoload.php';
$ssh = new \phpseclib\Net\SSH2('www.domain.tld');
if (!$ssh->login('username', 'password')) {
exit('Login Failed');
}
echo $ssh->exec('pwd');
echo $ssh->exec('ls -la');
?>    

我也补充道 使用phpseclib \ Net; 使用phpseclib \ Net \ SSH2;

确定

但是我收到了这个错误:

致命错误:类&#39; phpseclib \ Net \ SSH2&#39;没找到...

我正在使用Win8,Xampp和PHP5.5

我的composer.json是:

{
"name": "phpseclib/phpseclib",
"type": "library",
"description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.",
"keywords": [
    "security",
    "crypto",
    "cryptography",
    "encryption",
    "signature",
    "signing",
    "rsa",
    "aes",
    "blowfish",
    "twofish",
    "ssh",
    "sftp",
    "x509",
    "x.509",
    "asn1",
    "asn.1",
    "BigInteger"
    ],
"homepage": "http://phpseclib.sourceforge.net",
"license": "MIT",
"authors": [
    {
        "name": "Jim Wigginton",
        "email": "terrafrost@php.net",
        "role": "Lead Developer"
    },
    {
        "name": "Patrick Monnerat",
        "email": "pm@datasphere.ch",
        "role": "Developer"
    },
    {
        "name": "Andreas Fischer",
        "email": "bantu@phpbb.com",
        "role": "Developer"
    },
    {
        "name": "Hans-Jürgen Petrich",
        "email": "petrich@tronic-media.com",
        "role": "Developer"
    }
],
"require": {
    "php": ">=5.0.0"
},
"require-dev": {
    "phing/phing": "~2.7",
    "phpunit/phpunit": "~4.0",
    "sami/sami": "~2.0",
    "squizlabs/php_codesniffer": "~1.5"
},
"suggest": {
    "ext-mcrypt": "Install the Mcrypt extension in order to speed up a wide variety of cryptographic operations.",
    "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.",
    "pear-pear/PHP_Compat": "Install PHP_Compat to get phpseclib working on PHP < 4.3.3."
},
"include-path": ["phpseclib/"],
"autoload": {
    "psr-0": {
        "Crypt": "phpseclib/",
        "File": "phpseclib/",
        "Math": "phpseclib/",
        "Net": "phpseclib/",
        "System": "phpseclib/"
    },
    "files": [
        "phpseclib/Crypt/Random.php"
    ]
},
"extra": {
    "branch-alias": {
        "dev-master": "0.3-dev"
    }
}
}

我的composer.json是

{
"name": "zendframework/skeleton-application",
"description": "Skeleton Application for ZF2",
"license": "BSD-3-Clause",
"keywords": [
    "framework",
    "zf2"
],
"homepage": "http://framework.zend.com/",
"require": {
    "php": ">=5.3.3",
    "zendframework/zendframework": "2.*",
    "doctrine/common" : ">=2.1",
    "phpseclib/phpseclib": "0.3.10"
}, 

}

1 个答案:

答案 0 :(得分:0)

最后有了neubert的建议,我解决了它。

我只需要在https://github.com/phpseclib/phpseclib/tree/2.0

下载正确的软件包

和执行php composer.phar安装--dev如果不能正常工作我只是更改了文件夹vendor / composer中的autoload_namespaces.php:

// autoload_namespaces.php generated by Composer
$vendorDir = dirname(__DIR__);
$baseDir = dirname($vendorDir);

return array(
    'Zend\\' => $vendorDir . '/zendframework/zendframework/library/',
    'ZendTest\\' => $vendorDir . '/zendframework/zendframework/tests/',
    'phpseclib\\' => $vendorDir .  '/phpseclib/',
);

该行&#39; phpseclib \&#39; =&GT; $ vendorDir。 &#39; / phpseclib /&#39;,是解决方案的关键

相关问题