Мысль, что такие инструменты уже созданы, появилась после вот этого комментария. На комментарий я
ответил, но, как говорится, осадочек то остался.
Затем я познакомился с возможностями 2-х статических анализаторов кода.
Это замечательные инструменты, но с ходу решить данную задачу с их помощью мне не удалось.
Я уже перестал туда думать, занявшись другими вопросами. Но вот несколько дней назад я случайным образом наткнулся на DeprecationDetector.
На страничке проекта написано: «SensioLabs DeprecationDetector выполняет статический анализ
исходного кода вашего проекта, чтобы найти случаи использования устаревших методов, классов и
интерфейсов.»
Два слова о том, что устаревает на примере функций. В PHP есть функция set_magic_quotes_runtime. Смотрим документацию по этой функции и видим
Внимание
Эта функция считается УСТАРЕВШЕЙ с PHP 5.3.0 и УДАЛЕНА в PHP 7.0.0.
и далее
Ошибки
С версии PHP 5.3 эта функция устарела и при запуске вызывает предупреждение E_DEPRECATED. С версии PHP 5.4 эта функция также вызывает ошибку E_CORE_ERROR при попытке включить магические кавычки.
Ничего плохого или драматичного в устаревании нет, это отражение развития языка.
Собственно, те кто в своей практике пользуются консолью, могут уже дальше не читать, а качать эту могучую
утилиту и анализировать с её помощью свой или чужой код.
Но не всем консоль нужна. И вот для этой аудитории и была написана web-обёртка для DeprecationDetector.
Плюсом для меня явилось то, что DeprecationDetector умеет формировать отчёт в виде html страницы.
Использование
Распакуйте deprecated.zip в корневой директории вашего сайта. В корне сайта должна
появиться директория deprecated. В браузере наберите _http://your-site.com/deprecated/s.php
Отобразится нехитрая страничка с полем для ввода пути к исследуемой директории. Чтобы сориентироваться,
что вводить, на страничке имеется абсолютный адрес директории, из которой запущен скрипт.
Для тренировки можете сначала запустить анализ для этой директории. Смотрите результат.
Играйтесь!
После анализа всего, что вы хотели, удалите директорию deprecated.
Реклама #
AndroS 4 года назад #
IamB 4 года назад #
vikont 4 года назад #
IamB 4 года назад #
Ris 4 года назад #
И причина в том, что на опенсервере exec , похоже, не работает.
У меня также вылетает алерт: Windows не удается открыть файл этого типа (.phar)
IamB 4 года назад #
Пока не знаю, как тут быть.
IamB 4 года назад #
Файл скрипта вновь доступен для скачивания, протестировали все доступные на этот момент конфигурации ПО ,на них скрипт работает.
vikont 4 года назад #
Не определён путь к интерпретатору PHP. ОС: Linux dsdnr.ru 4.18.15-1.el7.elrepo.x86_64 #1 SMP Thu Oct 18 10:19:42 EDT 2018 x86_64
Абсолютный путь определяется неверно, но если использовать верный ошибка не меняется.
В прошлой версии абсолютный путь определялся правильно.
IamB 4 года назад #
В прошлой версии абсолютный путь определялся правильно.
$cdir = __DIR__; // текущая директория
exec("whereis php", $output);
и либо у вас отключена в целях безопасности функция PHP exec, либо не сработала консольная команда
whereis php
попробуйте выполнить её в консоли, у вас же есть возможность?
vikont 4 года назад #
IamB 4 года назад #
Вы не ответили на мои вопросы про функцию exec и запрос через консоль.
vikont 4 года назад #
Консольная команда whereis php срабатывает
IamB 4 года назад #
Могу для вашего случая предложить вариант использования утилиты DeprecationDetector через консоль, ссылка на первоисточник
в тексте поста.