Расширение BLENC — Yii Framework

Я пытаюсь защитить какой-то фрагмент кода моего веб-приложения.

Для этого потока я пытаюсь использовать расширение BLENC для PHP.

Причина:

Потому что клиент требует этого, поэтому, пожалуйста, не перепутайте тему.

Эта проблема:

В результате расширение BLENC отлично работает с простыми сценариями, НО … мое веб-приложение создано с использованием инфраструктуры YII, и при попытке получить доступ к веб-сайту оно возвращает следующее сообщение об ошибке …

Ошибка вывода в моем браузере:

include(Controller.php): failed to open stream: No such file or directory

/opt/lampp/htdocs/vial/yii/framework/YiiBase.php(427)

{
include($classFile);
if(YII_DEBUG && basename(realpath($classFile))!==$className.'.php')
throw new CException(Yii::t('yii','Class name "{class}" does not match class file "{file}".', array(
'{class}'=>$className,
'{file}'=>$classFile,
)));
break;
}
}
}
else
include($className.'.php'); //<-----ERROR POINTING HERE
}
else  // class name with namespace in PHP 5.3
{
$namespace=str_replace('\\','.',ltrim($className,'\\'));
if(($path=self::getPathOfAlias($namespace))!==false)
include($path.'.php');
else
return false;
}
return class_exists($className,false) || interface_exists($className,false);
}
return true;

дополнительный:

Единственное, что я сделал, это активировал расширение BLENC в «php.ini» с помощью строк:

extension=blenc.so
blenc.key_file="/opt/lampp...."

Я не зашифровал ни один файл php, и я получаю это сообщение об ошибке.

Extra 2:

Когда я деактивирую расширение в «php.ini», мое веб-приложение снова работает нормально …. ТАК ….

Вопрос:

Что происходит? Я добавил расширение для PHP (которое, я знаю, работает нормально), НО я не шифрую php-файл, Попробую запустить свое веб-приложение и получаю ошибки …. Я не знаю, что происходит.

Неважно, есть ли у меня зашифрованные файлы или нет … как только я активирую расширение … мое веб-приложение перестает работать, показывая мне сообщения об ошибках Yii Framework.

0

Решение

Похоже, система автозагрузки Yii сломалась.

Так что, возможно, автозагрузчик не работает, потому что у Blenc есть собственный автозагрузчик, который как-то влияет на Yii.

Возможно, PATH изменяется при загрузке расширения, хотя я не уверен, как его использует Yii.

Также убедитесь, что это не проблема с Yii или расширением, а с именами файлов. Yii не будет загружать класс с именем «Controller», если имя файла «controller.php» или внутри файла определение класса имеет другой регистр, он должен соответствовать регистру. В Windows все может работать, но в Linux это всегда чувствительно к регистру.

Ссылки:

http://www.yiiframework.com/forum/index.php/topic/22756-why-does-autoload-not-work/
Зашифровать исходный код PHP в Yii

Так что, возможно, вы можете протестировать другой инструмент и посмотреть, если вы получите ту же ошибку, чтобы вы знали, должен ли это быть Yii или это из-за чего-то внутри этого расширения.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]