我在一家公司中的服务器和计算机被锁定得比...更紧密。这意味着我无法使用作曲家或在没有大量文书工作的情况下安装它。我是一名开发人员,通常使用JS而不是php进行编程,但是对于此项目,我需要从智能卡上获取CAC X509信息。我已经尝试了大约4个小时,以使phpseclib正常工作。提醒您,我几乎不了解php。我遵循github和网站上的指示,主要是我已经下载并解压缩了2.0版的文件并将它们放在我的目录中,我遵循了网站上的示例,例如http://phpseclib.sourceforge.net/x509/2.0/examples.html#getpublickey。但是我什么时候做:
$x509 = new X509();
$x509->loadX509($_SERVER['SSL_CLIENT_CERT']);
echo $x509->getPublicKey();
我收到错误:致命错误:在...中找不到类“ X509”
我还尝试了其他操作,例如将目录包含到文件中,例如:
$x509 = new phpseclib\File\X509(); $x509->loadX509($_SERVER['SSL_CLIENT_CERT']); echo $x509->getPublicKey();
和(新的phpseclib_File_X509)得到错误:致命错误:在...中找不到类“ phpseclib \ File \ X509”
请帮助!我从来没有做过自动加载,并且我感觉这是问题所在吗?好像文件没有加载?我也在下面分别做过这两项,也都没有用。
include'phpseclib/File/X509.php'; use phpseclib\File\X509;
当我将错误日志放到X509中进行检查时,我也发现找不到ASN1。
编辑:也将有助于知道我的PHP版本是5.5.26
我在一家公司中的服务器和计算机被锁定得比...更紧密。这意味着我无法使用作曲家或在没有大量文书工作的情况下安装它。 ...
您需要遵循标准Composer project setup instructions,Larry。之后,通过执行
,按照Composer遵循phpseclib上的说明composer require phpseclib/phpseclib:~2.0
您可以使用最新的1.0.x版本,该版本完全不需要自动加载器(并且仍在维护):