Фатальная ошибка PhpStorm: класс 'Crypt_RSA' не найден (phpseclib) - PullRequest
0 голосов
/ 10 мая 2018

Я пытаюсь добавить phpseclib в качестве внешней библиотеки в PhpStorm.

Я скачал phpseclib с GitHub, извлек файлы и добавил phpseclib здесь: Settings | Languages & Frameworks | PHP | Include Path.

После этого $phpsec = new Crypt_RSA(); и запустить, но выдает мне эту ошибку:

Неустранимая ошибка: класс 'Crypt_RSA' не найден `

После этого я попробовал следующие строки:

set_include_path(get_include_path() . PATH_SEPARATOR . 'phpseclib');
include('Net/SSH2.php');
include("Crypt/RSA.php");

Дает мне эти ошибки:

Warning: include(Net/SSH2.php): failed to open stream: No such file or directory
Warning: include(): Failed opening 'Net/SSH2.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear:phpseclib')
Warning: include(Crypt/RSA.php): failed to open stream: No such file or directory
Warning: include(): Failed opening 'Crypt/RSA.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear:phpseclib') 
Fatal error: Class 'Crypt_RSA' not found

Также попробовал это:

include('library/php/Crypt/RSA.php');

Дали такие же ошибки.

Каков истинный метод добавления библиотеки phpseclib и ее использования.

Моя основная цель - публичное шифрование RSA OAEP с помощью sha256.

1 Ответ

0 голосов
/ 10 мая 2018

Не удалось открыть Crypt / RSA.php для включения (include_path = '.: / Usr / share / php: / usr / share / pear: phpseclib')

Похоже, что Ваш PATH_SEPARATOR равен : вместо /. Изменения:

set_include_path(get_include_path() . PATH_SEPARATOR . 'phpseclib'); до

set_include_path(get_include_path() .'/phpseclib'); или установите Ваш PATH_SEPARATOR на /.

...