X

Sphinx в PHP7: SphinxClient has a deprecated constructor (8192)

Переводя один из проектов на PHP7, получил ошибку: Methods with the same name as their class will not be constructors in a future version of PHP; SphinxClient has a deprecated constructor (8192). Решается она довольно просто, но сперва разберемся что она значит..

В PHP 7, объявление конструктора класса через метод с таким же названием как класс устарела (Deprecated features in PHP 7.0.x). Именно это и является причиной появления такой ошибки.

В нашем случае, нужно найти файл sphinxapi.php, открыть его в редакторе и изменить имя конструктора с:

...
/// create a new client object and fill defaults
function SphinxClient ()
{
...

на

...
/// create a new client object and fill defaults
function __construct()
{
...

после этих изменений ошибки исчезнут.

Категории: PHP
Тэги: php7sphinx