Существует проект на YII2, который размещен на хостинге и работает без особых проблем. При развертывании на локальном сервере этого проекта при отображении главной страницы выскакивает такая ошибка:
Проблема в том, что вызывается нестатический метод, возвращающий в свою очередь результат работы другого статического метода.
public function findRedirectByUrl($url)
{
return self::findOne(['old_url' => $url]);
}
Я читал, что это исключение может выбрасываться если, например, версия PHP сменена на более новую, это где-то есть в описании перехода на другую версию в разделе "Изменения, ломающие обратную совместимость". Но проблема ясна, вопрос в том, возможно ли не исправляя код в проекте игнорировать данную ошибку. На продакшене все работает с версией PHP такой же как и на локальном сервере. Есть ли какие-то параметры, например в php.ini, способные исправить это?
Можно поступить так:
$obj = new Redirects();
$redirects = $obj->findRedirectByUrl($url);
если нужно однократно, то можно "укоротить" запись
$redirects = (new Redirects())->findRedirectByUrl($url);
Но проблема ясна, вопрос в том, возможно ли не исправляя код в проекте игнорировать данную ошибку.
В данном случае - можете, пока версия PHP позволяет. Поскольку "внутри" все равно вызывается статический метод и логика не будет нарушена. Ну а по "правильному" так делать конечно нельзя
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
использую эту библиотеку, как парсер https://githubcom/Imangazaliev/DiDOM Мне нужно получить расстояние от определенного адреса до ближайшего метро
Есть проект на Joomla!, проект находится под управлением git и хотелось бы чтобы при деплое проекта на реальный сайт не нужно было устанавливать...