我使用作曲家在我的服务器上安装了ciphersweet,但是当我尝试导入库时,我收到此错误。
Fatal error: Uncaught Error: Class 'ParagonIECipherSweetKeyProviderStringProvider' not found in index.php.
似乎依赖项没有正确安装,我迷路了,你能帮忙吗?
这是一个php错误。
这是我的代码:
use ParagonIECipherSweetEncryptedRow;
use ParagonIECipherSweetTransformationAlphaCharactersOnly;
use ParagonIECipherSweetTransformationFirstCharacter;
use ParagonIECipherSweetTransformationLowercase;
use ParagonIECipherSweetBackendFIPSCrypto;
use ParagonIECipherSweetKeyProviderStringProvider;
$provider = new StringProvider('a981d3894b5884f6965baea64a09bb5b4b59c10e857008fc814923cf2f2de558');
$engine = new CipherSweet($provider, new FIPSCrypto());
/** @var CipherSweet $engine */
$row = (new EncryptedRow($engine, 'contacts'))
->addTextField('first_name')
->addTextField('last_name')
->addFloatField('latitude')
->addFloatField('longitude');
// Notice the ->addRowTransform() method:
$row->addCompoundIndex(
$row->createCompoundIndex(
'contact_first_init_last_name',
['first_name', 'last_name'],
64, // 64 bits = 8 bytes
true
)
->addTransform('first_name', new AlphaCharactersOnly())
->addTransform('first_name', new Lowercase())
->addTransform('first_name', new FirstCharacter())
->addTransform('last_name', new AlphaCharactersOnly())
->addTransform('last_name', new Lowercase())
);
$prepared = $row->prepareRowForStorage([
'first_name' => 'Jane',
'last_name' => 'Doe',
'latitude' => 52.52,
'longitude' => -33.106,
'extraneous' => true
]);
var_dump($prepared);
?>
您需要加载vendor/autoload.php
才能使已安装的软件包正常工作。
例如,将require_once __DIR__ . '/vendor/autoload.php';
添加到文件顶部。 这将使 php 知道包中的命名空间。
如果文件不在应用程序的根目录中,则可能需要更改此设置。例如,如果您的文件位于app/
目录中,则这些文件需要使用require_once __DIR__ . '/../vendor/autoload.php'
有关更多详细信息,请参阅 https://getcomposer.org/doc/01-basic-usage.md#autoloading。