0

Running php cli throws these deprecated errors even simple php -v. But SolrObject is a standard php class so I'm not sure why it's complaining about itself and how to fix it?

Deprecated: Return type of SolrObject::offsetExists($property_name) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in Unknown on line 0

Deprecated: Return type of SolrObject::offsetGet($property_name) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in Unknown on line 0

Deprecated: Return type of SolrObject::offsetSet($property_name, $property_value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in Unknown on line 0

Deprecated: Return type of SolrObject::offsetUnset($property_name) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in Unknown on line 0

Deprecated: Return type of SolrDocument::offsetExists($fieldName) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in Unknown on line 0

Deprecated: Return type of SolrDocument::offsetGet($fieldName) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in Unknown on line 0

Deprecated: Return type of SolrDocument::offsetSet($fieldName, $fieldValue) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in Unknown on line 0

Deprecated: Return type of SolrDocument::offsetUnset($fieldName) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in Unknown on line 0

Deprecated: Return type of SolrDocument::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in Unknown on line 0

Deprecated: Return type of SolrDocument::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in Unknown on line 0

Deprecated: Return type of SolrDocument::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in Unknown on line 0

Deprecated: Return type of SolrDocument::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in Unknown on line 0

Deprecated: Return type of SolrDocument::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in Unknown on line 0

Deprecated: SolrDocument implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in Unknown on line 0

Deprecated: SolrModifiableParams implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in Unknown on line 0

Deprecated: SolrQuery implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in Unknown on line 0

Deprecated: SolrDisMaxQuery implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in Unknown on line 0

PHP 8.1.2 (cli) (built: Feb 2 2022 00:35:54) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.2, Copyright (c) Zend Technologies with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies with Xdebug v3.1.3, Copyright (c) 2002-2022, by Derick Rethans

Running Devilbox v1.10.0 (2022-01-28) / Docker

John Magnolia
  • 16,769
  • 36
  • 159
  • 270
  • 2
    Solr is not a "standard" PHP class, it is a [PECL extension](https://stackoverflow.com/a/1385351/231316). Looks like someone provided a patch that was recently [merged to add support for PHP 8.1](https://github.com/php/pecl-search_engine-solr/pull/30). – Chris Haas Mar 16 '22 at 21:06
  • @ChrisHaas can it be disabled in php.ini like other PHP extensions? – John Magnolia Mar 20 '22 at 18:06
  • The reverse is actually true. It can be manually _enabled_ in php.ini, it is not by default. Scan your directives, and especially being Docker, the derivatives, for something actually turning it on in the first place. – Chris Haas Mar 21 '22 at 03:26

0 Answers0